Aptalca bir soru gibi görünebilir, ancak WCF'deki her şey asmx'ten çok daha karmaşık görünüyor, bir svc hizmetinin zaman aşımını nasıl artırabilirim?
Şimdiye kadar sahip olduğum şeyler:
<bindings>
<basicHttpBinding>
<binding name="IncreasedTimeout"
openTimeout="12:00:00"
receiveTimeout="12:00:00" closeTimeout="12:00:00"
sendTimeout="12:00:00">
</binding>
</basicHttpBinding>
</bindings>
Ve sonra uç noktam şu şekilde eşleştirilir:
<endpoint address=""
binding="basicHttpBinding" bindingConfiguration="IncreasedTimeout"
contract="ServiceLibrary.IDownloads">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
Aldığım tam hata:
00: 00: 59.9990000'den sonra yanıt beklerken istek kanalı zaman aşımına uğradı. İstek çağrısına aktarılan zaman aşımı değerini artırın veya Bağlamadaki SendTimeout değerini artırın. Bu işleme ayrılan zaman, daha uzun bir zaman aşımının bir kısmı olabilir.
WCF Test İstemcisinde, hizmetimin çalışma zamanı yapılandırmasını içeren bir yapılandırma simgesi vardır:
Gördüğünüz gibi onun için belirlediğim değerler aynı değil mi? Neyi yanlış yapıyorum?
<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>