Tôi đang kết nối với dịch vụ web ASMX do nhà cung cấp cung cấp và gửi một bộ dữ liệu qua dây. Nỗ lực đầu tiên của tôi nhấn thời gian chờ 1 phút mà Visual Studio ném vào theo mặc định trong tệp app.config khi bạn thêm một tham chiếu dịch vụ vào một dự án. Tôi tăng nó lên 10 phút, một thời gian chờ khác. 1 giờ, một thời gian chờ khác:Dịch vụ Web .NET (asmx) Timeout Problem
Error: System.TimeoutException: The request channel timed out while waiting for
a reply after 00:59:59.6874880. Increase the timeout value passed to the call to
Request or increase the SendTimeout value on the Binding. The time allotted to
this operation may have been a portion of a longer timeout. ---> System.TimeoutE
xception: The HTTP request to 'http://servername/servicename.asmx' has exceeded the allotted timeout of 01:00:00. The time allotted to this
operation may have been a portion of a longer timeout. ---> System.Net.WebExcept
ion: The operation has timed out
at System.Net.HttpWebRequest.GetResponse() [... lengthly stacktrace follows]
Tôi đã liên hệ với nhà cung cấp. Họ xác nhận cuộc gọi có thể mất hơn một tiếng đồng hồ (đừng hỏi, họ là nguyên nhân của sự tồn tại của tôi). Tôi tăng thời gian chờ lên 10 giờ để được an toàn. Tuy nhiên, cuộc gọi dịch vụ web tiếp tục hết thời gian sau 1 giờ. Phần app.config có liên quan bây giờ trông giống như sau:
<basicHttpBinding>
<binding name="BindingName" closeTimeout="10:00:00"
openTimeout="10:00:00" receiveTimeout="10:00:00" sendTimeout="10:00:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2147483647"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
Khá ngớ ngẩn, nhưng bất kể thời gian chờ vẫn khởi động sau 1 giờ. Rất tiếc, mọi thay đổi đều mất ít nhất một giờ nữa để kiểm tra. Có một số giới hạn nội bộ mà tôi đang gặp phải - một cài đặt thời gian chờ khác sẽ được thay đổi ở đâu đó không? Tất cả thay đổi đối với các cài đặt này tối đa một giờ đã có hiệu lực mong đợi.
Cảm ơn bạn đã trợ giúp bạn có thể cung cấp!
Khi khởi động trong một giờ, có phải chính xác cùng ngoại lệ bạn nhận được khi hết thời gian chờ trong 1 phút không? –
Vâng, đó là lỗi tương tự. –