Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于不返回的ASP.Net脚本服务,返回HTTP 204与{quot;d";null}_Asp.net_Web Services_Pagemethods - Fatal编程技术网

对于不返回的ASP.Net脚本服务,返回HTTP 204与{quot;d";null}

对于不返回的ASP.Net脚本服务,返回HTTP 204与{quot;d";null},asp.net,web-services,pagemethods,Asp.net,Web Services,Pagemethods,我们有一个ASP.NETWeb方法,它不返回任何数据,也就是说,它不应该返回任何数据,该方法是无效的。目前,响应是一个状态为200 w/a的{“d”:null}体。虽然这样做很好,但它不是204(无内容)和无主体的响应状态,这让我感到困扰。有人知道一种让web方法在没有实体的情况下返回204的方法吗 好吧,我发帖的时候是懒惰的。在JustDecompile中花费了一些时间,答案似乎是“否”。具体来说,webmethod是从框架(System.Web.Script.Services.RestHan

我们有一个ASP.NETWeb方法,它不返回任何数据,也就是说,它不应该返回任何数据,该方法是无效的。目前,响应是一个状态为200 w/a的{“d”:null}体。虽然这样做很好,但它不是204(无内容)和无主体的响应状态,这让我感到困扰。有人知道一种让web方法在没有实体的情况下返回204的方法吗

好吧,我发帖的时候是懒惰的。在JustDecompile中花费了一些时间,答案似乎是“否”。具体来说,webmethod是从框架(System.Web.Script.Services.RestHandler.InvokeMethod)中的w/调用的,如下所示:

所以,如果obj1是一个void方法,那么它将为null,但这并不重要,它仍然是用前导的“d:”东西序列化的。没办法避免。哦,好吧,就像我在《问答》中说的那样,它工作得很好,我只是希望有204,因为没有“真正的”反应

object obj1 = methodData.CallMethodFromRawParams(obj, rawParams);
        string str1 = null;
        if (!methodData.UseXmlResponse)
        {
            str1 = string.Concat("{\"d\":", methodData.Owner.Serializer.Serialize(obj1), "}");
            str = "application/json";
        }