簡體   English   中英

WCF Web服務中止

[英]WCF Web service getting aborted

我有以下Web服務返回JSON:

    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
    public SomeResultClass AddObject(InputObject objInputObject)
    {
        IO objIO = new IO();
        return objIO.AddObject(objInputObject);
    }

在客戶端,我正在按以下方式調用Web服務:

   var Data=new Object();
   Data.objInputObject=new Object();
   //Add fields
    $.ajax({
            type: "POST",
            data: JSON.stringify(Data),
            dataType: "json",
            async:false,
            url: "../Webservice/WSService.svc/AddObject",
            contentType: "application/json",
            success: function (result) {
               show_Result(result.AddObjectResult);
            },
            error: function (msg) {
               show_Error(msg);
            }
        });

但是ajax調用總是會中止....如果我在webservice中添加斷點..它也會被擊中兩次.... ?? .... webservice代碼似乎已正確執行..但瀏覽器中的狀態已中止?

找到解決方案.....似乎WCF不允許DateTime空值...我有public DateTime SortDateTime { get; set; } public DateTime SortDateTime { get; set; } public DateTime SortDateTime { get; set; } ,未分配任何值。

剛剛更改了模型類構造函數以對其進行初始化:

public class InputObject 
{
    public InputObject ()
    {
        SortDateTime = DateTime.Now;
    }
    //Fields
    public DateTime SortDateTime { get; set; }
}

我遇到了同樣的問題,因為我從服務器返回了大量記錄,我將以下行添加到我的wcf配置文件中,它可以正常工作。

<system.web>
    <httpRuntime maxRequestLength ="262144" executionTimeout="103600"/>
</system.web>

希望它也對您有用。請嘗試。

問題或錯誤是序列化時的Javascript對象表示法; 不在WCF中。

“•JavaScript日期基於自1970年1月1日午夜以來的毫秒數的時間值。一天保持86,400,000毫秒。相對於1970年1月1日,JavaScript Date對象的范圍是-100,000,000天至100,000,000天。

日期時間值Year = 1,Month = 1和Day = 1..31的DateTime引發異常。 其中Year = 1..yyyy,Month = 2..MM,Day = 1..DD,依此類推。 ( “MyDateTime”: “/日期(-62132950800000 + 0000)/”)

我使用“ DateTime”進行了大規模測試,但問題在極限范圍內。

由於DateTime是ValueType,因此不允許使用空值,但是Nullable<DateTime>也可以正常工作。(“ MyDateTime”:null)

我今天有同樣的問題。 (感謝Shashank Kumar)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM