서버의 응답에 문제가 있습니다. 서버 측에서 작업이 1 분 이상 걸리면 클라이언트가 응답을받을 수는 없지만 서버 측에서 응답을 보내는 것보다 로그가 응답합니다. 서버 측에서 작업이 1 분 미만이면 모든 것이 좋습니다.고객이 답변을 얻을 수 없습니다.
클라이언트 설정 :
서버 측<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="NewBehavior0">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<clientCredentials />
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_B2BServices" closeTimeout="00:10:00"
openTimeout="00:01:00" receiveTimeout="00:21:00" sendTimeout="00:21:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Mtom" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:15:00"
enabled="true" />
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address=https://.../MatrixConnector/Services.svc
behaviorConfiguration="NewBehavior0"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_B2BServices"
contract="MatrixServiceReference.B2BServices" name="WSHttpBinding_B2BServices">
<identity>
<dns value="..." />
</identity>
</endpoint>
</client>
</system.serviceModel>
:
The communication object, System.ServiceModel.Channels.ReplyChannel, cannot be used for communication because it has been Aborted.
모든 속성이 모두 20 이상으로 설정 :
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logKnownPii="true" logMalformedMessages="true"
logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true"
maxMessagesToLog="2147483647" maxSizeOfMessageToLog="2147483647" />
<endToEndTracing propagateActivity="true" activityTracing="true"
messageFlowTracing="true" />
</diagnostics>
<bindings>
<wsHttpBinding>
<binding name="WsHttpBinding"
closeTimeout="00:21:00" openTimeout="00:02:00" receiveTimeout="00:30:00" sendTimeout="00:30:00"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Mtom">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession enabled="true" inactivityTimeout="00:20:00" />
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="serviceBehavior" name="mediaSens.Services.B2BServices">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="WsHttpBinding"
contract="mediaSens.Services.IB2BServices">
<identity>
<dns value="..." />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress=http://.../ />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="mediaSens.Services.CustomUserNameValidator, mediaSens.Services" />
</serviceCredentials>
<serviceThrottling maxConcurrentCalls="1000" maxConcurrentSessions="2000"
maxConcurrentInstances="1500" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" minFreeMemoryPercentageToActivateService="1" />
</system.serviceModel>
지금은 30 분 후 서버 측의 오류를 얻을 분 및 클라이언트가 1 분 이상 걸릴 작업을 처리 할 수 없습니다. Additionaly 나는했습니다 :
client.InnerChannel.OperationTimeout = new TimeSpan(0, 30, 0);
...하지만 결과를.
내가 응용 프로그램 풀 설정 증가했습니다 핑 최대 응답 Timie : 1140 초 종료 시간 제한 : 1200 초 핑 기간 : 30 초.
나는 또한 재활용을 해제했다. 같은 행동.
나는 ... relabionSession 끌 수 있으나 아무것도편집을 시도했다. 나는 클라이언트가 90 초 후에 응답을 얻을 수 없다는 것을 발견했다. 이 값은 IIS의 exececutionTime에 대한 기본값입니다. 이 값을 3600 초로 늘리면 디버그가 꺼지지 만 클라이언트는 그 시간이 지나도 응답을 검색 할 수 없습니다. net.tcp 서버와 같은 결과를 만들었지 만 localhost에는 그런 문제가 없습니다. 정말
Windows Azure를 사용하고 있습니까? –
"하지만 로그는 서버에서 응답을 보낸다고 말합니다." 어떤 로그? 실제로 연결이 전송되기 전에 연결이 중단 될 수 있습니다. –
Windows Azure를 사용하고 있지 않습니다. 서버에서의 작업에서 결과를 반환하기 전에 데이터베이스에 로그를 저장하고 TraveViewer에 다음과 같이 accion이 있습니다. 호출 후 2 분 후에 "채널을 통해 메시지를 보냈습니다"(올바른 것입니다). 그리고 30 분 후 I'va는 오류가 발생했습니다 (위의 게시물 참조). – Bruno