0

我有以上

    [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) 并且运行正常。我会给予任何帮助。

提前谢谢。

4

1 回答 1

0

我找到了我的问题的解决方案。问题是 webmethod 工作正常,但是当数据变大时,问题就开始了。所以我的问题的解决方案是放在上面关于行为的 webconfig 中:

<dataContractSerializer ignoreExtensionDataObject="true" maxItemsInObjectGraph="123456" />

也在服务课上

ServeiceBehavior(InstanceContextMode= InstanceContextMode.perSession)

在 iservice

ServiceContract(SessionMode = SessionMode.Allowed)

之后一切正常。

于 2013-06-06T07:24:12.433 回答