Potrebbe sembrare una domanda stupida, ma tutto in WCF sembra molto più complicato che in asmx, come posso aumentare il timeout di un servizio svc?Servizio WCF, come aumentare il timeout?
Ecco quello che ho finora:
<bindings>
<basicHttpBinding>
<binding name="IncreasedTimeout"
openTimeout="12:00:00"
receiveTimeout="12:00:00" closeTimeout="12:00:00"
sendTimeout="12:00:00">
</binding>
</basicHttpBinding>
</bindings>
E poi il mio punto finale viene mappato su come questo:
<endpoint address=""
binding="basicHttpBinding" bindingConfiguration="IncreasedTimeout"
contract="ServiceLibrary.IDownloads">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
L'errore esatto che sto ottenendo:
Il canale richiesta è scaduta fuori mentre aspetta una risposta dopo 00: 00: 59.9990000. Aumentare il valore di timeout passato alla chiamata su Richiesta o aumentare il valore SendTimeout sul Binding. Il tempo assegnato a questa operazione potrebbe essere stato una parte di un timeout più lungo.
Nella prova WCF client, v'è un'icona di configurazione che contiene la configurazione fase di esecuzione del mio servizio:
Come si può vedere i suoi non gli stessi valori come ho impostato per esso? Che cosa sto facendo di sbagliato?
<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>
beh, sì - in genere, deve essere impostato sia sul client che sul server, anche - ad es. in caso di "inactivityTimeout" su sessioni e cose del genere. –
JL: puoi mostrare che cosa hai fatto in modo esatto? Sto avendo lo stesso problema –
Se si utilizza il 'client di test WCF', fare clic destro su 'File di configurazione' nella struttura dei servizi, quindi fare clic su 'Modifica con SvcConfigEditor' e modificare il timeout all'interno dei collegamenti. – Radderz