T.S*_*.S. 5 c# asp.net web-services
我有一段代码,其中有两个顺序调用旧的ASMX Web服务.
service.Url = "http://.....";
service.A(1, 2, 3);
service.B(4, 5, 6);
Run Code Online (Sandbox Code Playgroud)
打电话给没问题A.但是要求B抛出404... not found...在发现中,两种方法都是可见的并且看起来很好 - 我在IE中看到,元数据看起来很好.我把断点放进B去,绝对不会打.我做了重建,Update Web Service参与消费项目并重建它.
状态是WebExceptionStatus.ProtocolError.
失败的Web方法的签名
<WebMethod(Description:="Store a fragment of object on server.")> _
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
Run Code Online (Sandbox Code Playgroud)
电话是(已验证)
bool result = service.B(string, string, byteArray1, int, byteArray2);
Run Code Online (Sandbox Code Playgroud)
同样,未达到WebMethod B. Web引用代理和所有 - 看起来不错.它能是什么?
我解决了 这是令人困惑,因为我正在HTTP/1.1 404 Not Found和WebExceptionStatus.ProtocolError.
一旦我连接了Fiddler2,我就在挖掘它并找到了WebView,它清楚地说:
•在Web服务器上配置请求筛选以拒绝请求,因为内容长度超过了配置的值.
为解决此问题,我在IIS中更改了配置以允许50MB请求.
而且您还希望在web.config中进行以下设置
<httpRuntime maxRequestLength="1000000" executionTimeout="3000"/>
Run Code Online (Sandbox Code Playgroud)
最大设置是 2097151 KB
404令人困惑.这听起来像Web服务的问题,而实际上它是请求的大小.当我说它以前工作时,它只是因为在此之前我不会保存这么大的物体.
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |