Mungkin tampak seperti pertanyaan konyol, tetapi semua yang ada di WCF tampak jauh lebih rumit daripada di asmx, bagaimana cara menambah waktu tunggu layanan svc?
Inilah yang saya miliki sejauh ini:
<bindings>
<basicHttpBinding>
<binding name="IncreasedTimeout"
openTimeout="12:00:00"
receiveTimeout="12:00:00" closeTimeout="12:00:00"
sendTimeout="12:00:00">
</binding>
</basicHttpBinding>
</bindings>
Dan kemudian titik akhir saya dipetakan seperti ini:
<endpoint address=""
binding="basicHttpBinding" bindingConfiguration="IncreasedTimeout"
contract="ServiceLibrary.IDownloads">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
Kesalahan persis yang saya dapatkan:
Saluran permintaan habis waktu sambil menunggu balasan setelah 00: 00: 59.9990000. Tingkatkan nilai batas waktu yang diteruskan ke panggilan ke Request atau tingkatkan nilai SendTimeout di Binding. Waktu yang dialokasikan untuk operasi ini mungkin merupakan bagian dari waktu tunggu yang lebih lama.
Di Klien Tes WCF, ada ikon konfigurasi yang berisi konfigurasi waktu proses layanan saya:
Seperti yang Anda lihat nilainya tidak sama seperti yang saya tetapkan untuk itu? Apa yang saya lakukan salah?
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IDownloads" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="">
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>