Biraz uzun süren WCF tabanlı bir işlem var. WCF servisi, herhangi bir yardımın varsa Azure'da çalışır.WCF Zaman aşımı sorunu?
<wsHttpBinding>
<binding name="XXX" closeTimeout="00:05:00" openTimeout="00:05:00"
receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false"
transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="10000000" maxReceivedMessageSize="10000000"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="255" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="false"/>
</security>
</binding>
</wsHttpBinding>
2) WCF hizmeti web.config'de aşağıdaki bağlama bölümü vardır:
1) Win istemcisi bağlama bölümünde aşağıdaki .config ayarı vardır: İnanıyorum sorunu zaman aşımları ile ilgisi var
<wsHttpBinding>
<binding name="XXX" maxReceivedMessageSize="10000000" sendTimeout="00:10:00" receiveTimeout="00:10:00" closeTimeout="00:10:00" openTimeout="00:10:00">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName" establishSecurityContext="false" />
</security>
<readerQuotas maxArrayLength="2000000" maxBytesPerRead="10000000" maxStringContentLength="10000000" maxDepth="255" />
</binding>
</wsHttpBinding>
3) WCF'de (genellikle 2 dakika) bir uzun süredir çalışan yöntemim var. Müşteriler yöntemi çağırırlar ve 1 dakikadan daha uzun bir süre boyunca çalıştırılanlar istisna ile dışarı atılır. Bu en iç istisnadır:
<InnerException>
<Type>System.Net.Sockets.SocketException</Type>
<Message>An existing connection was forcibly closed by the remote host</Message>
<StackTrace>
<Frame>at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)</Frame>
</StackTrace>
</InnerException>
</InnerException>
4) WCF başarıyla tamamlandı kendisini çağırır, ancak (Ben Başlangıç / Bitiş ikisi) sunucu tarafında açmış. İstisnadan nasıl kurtulurum?
Teşekkür ederiz! Windows Azure yük dengeleyici, 60 saniye sonra boştaki bağlantıları sonlandırır.
Herzaman, bu hatasını veriyor. Hata, bir dakika sonra kesin olarak müşteriye iade edilir. Sunucu yine de yöntem çağrısını bitiriyor. – Igorek