作者:DTor惜涵_237 | 来源:互联网 | 2023-06-30 12:23
我有一段代码,其中有两个顺序调用旧的ASMX Web服务.
service.Url = "http://.....";
service.A(1, 2, 3);
service.B(4, 5, 6);
打电话给A很好.但是对B的调用抛出404 ……没有找到……在发现中,两种方法都是可见的并且看起来很好 – 我在IE中看到,元数据看起来都很好.我在B中设置了断点,但绝对没有击中.我在使用项目时进行了重建,更新Web服务引用并重建了它.
状态为WebExceptionStatus.ProtocolError.
失败的Web方法的签名
_
Public Function B(
ByVal p1 As String,
ByVal p2 As String,
ByVal p3() As Byte,
ByVal p4 As Integer,
ByVal p5() As Byte) As Boolean
电话是(已验证)
bool result = service.B(string, string, byteArray1, int, byteArray2);
同样,未达到WebMethod B. Web引用代理和所有 – 看起来不错.
它能是什么?
解决方法:
我解决了自从我收到HTTP / 1.1 404 Not Found和WebExceptionStatus.ProtocolError以来,这令人困惑.
一旦我连接了Fiddler2,我就在挖掘它并找到了WebView,它清楚地说:
?Request filtering is configured on the Web server to deny the request because the content length exceeds the configured value.
为解决此问题,我在IIS中更改了配置以允许50MB请求.
而且您还希望在web.config中进行以下设置
最大设置为2097151 KB
404令人困惑.这听起来像Web服务的问题,而实际上它是请求的大小.当我说它以前工作时,它只是因为在此之前我不会保存这么大的物体.