什么原因导致我的 Web 服务调用超时?

什么原因导致我的 Web 服务调用超时?

Web 服务器是带有 IIS 6 的 Windows Server 2003。Web 服务是在 .NET 4.0 中运行的 ASMX。

当以名为“ALBERT”的域用户身份调用 Web 服务时,一切顺利。

POST http://elvis.ecq.local/sems/Services/DecVotingService.asmx HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.225)
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/GetEventDivisions"
Host: elvis.ecq.local
Content-Length: 449
Expect: 100-continue
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetEventDivisions xmlns="http://tempuri.org/"><eventID>165</eventID><isGroupEvent>false</isGroupEvent><roUserName>ALBERT</roUserName><CHKSUM>3dcdaea4f9dbcaac689a4ce19c0fcd97</CHKSUM></GetEventDivisions></soap:Body></soap:Envelope>

当使用域用户“DALRYMPLE”进行完全相同的调用时,请求超时。

POST http://elvis.ecq.local/sems/Services/DecVotingService.asmx HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.225)
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/GetEventDivisions"
Host: elvis.ecq.local
Content-Length: 452
Expect: 100-continue
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetEventDivisions xmlns="http://tempuri.org/"><eventID>165</eventID><isGroupEvent>false</isGroupEvent><roUserName>DALRYMPLE</roUserName><CHKSUM>2de3f62d249a2024394e9c410e7904b9</CHKSUM></GetEventDivisions></soap:Body></soap:Envelope>

每次测试都使用同一台 PC 和同一网络。是什么原因导致一个用户的请求超时,而另一个用户的请求却没有超时?

更新

使用“DALRYMPLE1”进行相同测试成功。

POST http://elvis.ecq.local/sems/Services/DecVotingService.asmx HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.225)
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/GetEventDivisions"
Host: elvis.ecq.local
Content-Length: 453
Expect: 100-continue
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetEventDivisions xmlns="http://tempuri.org/"><eventID>165</eventID><isGroupEvent>false</isGroupEvent><roUserName>DALRYMPLE1</roUserName><CHKSUM>87193ccb2f173499d03e2383d9a989f0</CHKSUM></GetEventDivisions></soap:Body></soap:Envelope>

更新

当请求的 Content-Length 为 452 时,它似乎会超时。

更新

我们已经将问题缩小到用于连接服务器的 3G 调制解调器。我们有两种类型的调制解调器 - 较新的调制解调器在请求为 452 字节时会失败,而较旧的调制解调器则可成功运行。这确实很奇怪。我们正在与调制解调器供应商一起调查。

用户 DALRYMPLE 使用 LAN 连接也能正常工作。

答案1

我怀疑是 MTU,尝试将其调高或调低 1。看看它是否改变了什么,对进一步的问题进行 QA,并将其设置为不会中断的值。

相关内容