我有以上
[OperationContract]
[WebGet(UriTemplate = "/Get_Flights/{partnerCode}/{from_airport_code}/{to_airport_code}/{date_from}/{date_to}/{round_trip}/{direct_flight}/{adults}/{kidA}/{kids}/{infants}/{airline_code}/{service_class}/{includeWebFares}/{includeServiceFee}/{LangId}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
List<List<Dictionary<string, object>>> Get_Flights(string partnerCode,
string from_airport_code,
string to_airport_code,
string date_from,
string date_to, string round_trip, string direct_flight,
string adults, string kidA, string kids, string infants,
string airline_code, string service_class, string includeWebFares, string includeServiceFee, string LangId);
和上面的
public List<List<Dictionary<string, object>>> Get_Flights(string partnerCode,
string from_airport_code,
string to_airport_code,
string date_from,
string date_to, string round_trip, string direct_flight,
string adults, string kidA, string kids, string infants, string airline_code,
string service_class,string includeWebFares, string includeServiceFee,string LangId)
{ //get data from webservice}
由于我无法理解一次调用的原因,公共方法会运行两次。我在服务中还有另外53个webmethods(get,post),所有运行正常。 我会饶有兴趣。
提前谢谢。答案 0 :(得分:0)
我找到了问题的解决方案。问题是web方法工作正常但是当数据变大时问题就开始了。所以我的问题的解决方案是上面关于行为的webconfig:
<dataContractSerializer ignoreExtensionDataObject="true" maxItemsInObjectGraph="123456" />
也在服务类
ServeiceBehavior(InstanceContextMode= InstanceContextMode.perSession)
和在iservice
ServiceContract(SessionMode = SessionMode.Allowed)
之后一切正常。