[DataContract]
public class SalesRepReturn : BaseReturn
{
[DataMember]
public IEnumerable<LeadInfo> TodayAppointments { get; set; }
[DataMember]
public IEnumerable<LeadInfo> TodayKnock { get; set; }
[DataMember]
public IEnumerable<LeadInfo> OutstandingLeads { get; set; }
[DataMember]
public IEnumerable<LeadInfo> HotLeads { get; set; }
[DataMember]
public IEnumerable<LeadInfo> AssociatedLeads { get; set; }
}
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/SalesRepData",
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)]
SalesRepReturn SalesRepData(int salesRepId, float lat, float lon, int distance);
public SalesRepReturn SalesRepData(int salesRepId,float lat,float lon,int distance)
{
Stopwatch stopwatch = Stopwatch.StartNew();
Stopwatch stopwatch1 = Stopwatch.StartNew();
var salesRepReturn = new SalesRepReturn { ReturnMsg = "Enter valid representative Id", ReturnCode = 401 };
if (salesRepId == 0) return salesRepReturn;
salesRepReturn.AssociatedLeads = MapLeads(salesRepId,lat,lon,distance);
stopwatch.Stop();
LogTimeTaken(DateTime.Now.ToString() + " Time Taken for Map Leads SRD " + stopwatch.ElapsedMilliseconds.ToString());
salesRepReturn.ReturnCode = 200;
salesRepReturn.ReturnMsg = Messages.Success;
stopwatch1.Stop();
LogTimeTaken(DateTime.Now.ToString() + " Entire Method SRD " + stopwatch1.ElapsedMilliseconds.ToString());
return salesRepReturn;
}
private IEnumerable<LeadInfo> MapLeads(int salesRepId,float lat,float lon,int distance)
{
var result=_context.Database.SqlQuery<LeadInfo>("GetMappedLeadsByLatLong @salesRepId,@latitude,@longitude,@distance", new SqlParameter("salesRepId", salesRepId), new SqlParameter("latitude", lat), new SqlParameter("longitude", lon), new SqlParameter("distance", distance));
return result;
}
上記は私のWCFサービスコードです。処理時間を得るためにタイムスタンプを追加したことがわかります。処理時間は1秒もかかりませんが、応答時間は郵便配達員で2秒から15秒の間で変わります。私は何が原因か分かりません。私はこの方法が1秒か2秒かかっていると思っています。平均での応答のサイズは40KBです。サービス操作の実行に必要な実際のコードよりも、サービス操作の戻り時間が長くなるのはなぜですか?
これは、1回のコールでか複数の同時コールで遅延が発生しますか? –
@tomredfernこれは1回の呼び出しです。 –
明確にするために、実際のサービス操作が呼び出されたときの戻り値が、操作内の実際のコードが実行されるよりも時間がかかる理由について混乱していますか? –