2011-03-24 12 views
5

के बाद समाप्त हो गया है, मैं विंडोज प्रमाणीकरण के साथ WAS में होस्ट की गई एक डब्ल्यूसीएफ नेट टीसीपी सेवा का उपयोग कर रहा हूं। सेवा किसी विशेष ग्राहक मशीन से किसी विशेष उपयोगकर्ता प्रमाण-पत्र के साथ लगातार विफल हो जाती है। प्रमाण पत्र एक अलग ग्राहक मशीन पर काम करते हैं। क्लाइंट मशीन पर विभिन्न प्रमाण-पत्र काम करते हैं।डब्ल्यूसीएफ सिस्टम। टाइमआउट अपवाद: सॉकेट स्थानांतरण 00:00:00

System.TimeoutException: The open operation did not complete within the allotted timeout of 00:01:00. The time allotted to this operation may have been a portion of a longer timeout. ---> System.TimeoutException: The socket transfer timed out after 00:00:00. You have exceeded the timeout set on your binding. The time allotted to this operation may have been a portion of a longer timeout. ---> System.IO.IOException: The write operation failed, see inner exception. ---> System.TimeoutException: The socket transfer timed out after 00:00:00. You have exceeded the timeout set on your binding. The time allotted to this operation may have been a portion of a longer timeout. 
    at System.ServiceModel.Channels.SocketConnection.SetWriteTimeout(TimeSpan timeout, Boolean synchronous) 
    at System.ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) 
    at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager) 
    at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) 
    at System.ServiceModel.Channels.ConnectionStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
    at System.Net.Security.NegotiateStream.StartWriting(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) 
    at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) 
    --- End of inner exception stack trace --- 
    at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) 
    at System.Net.Security.NegotiateStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
    at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) 
    --- End of inner exception stack trace --- 
    at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout) 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) 
    --- End of inner exception stack trace --- 

Server stack trace: 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade) 
    at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs) 
    at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) 
    at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 

ध्यान दें कि समय समाप्त भले ही यह 00:01:00 के लिए कॉन्फ़िगर किया गया है 00:00:00 के बाद है: हालांकि, सेवा लगातार विशेष ग्राहक मशीन और क्रेडेंशियल्स का उपयोग नीचे त्रुटि के साथ विफल। इससे मुझे विश्वास होता है कि यह वास्तव में एक टाइमआउट मुद्दा नहीं है।

  <netTcpBinding> 
     <binding name="NetTcpBinding_IMyAwesomeService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10" maxReceivedMessageSize="2147483647"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
      <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" /> 
      <security mode="Transport"> 
      <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" /> 
      <!--<extendedProtectionPolicy policyEnforcement="Never" />--> 
      <message clientCredentialType="Windows" /> 
      </security> 
     </binding> 
     </netTcpBinding> 

मैं अब अनुरेखण E2E की स्थापना कर रहा हूँ और मैं के बाद परिणाम प्राप्त वापस पोस्ट करेंगे: यहाँ मेरी बाइंडिंग कर रहे हैं।

उत्तर

1

अपवाद में आपके द्वारा देखे जाने वाले टाइमआउट मान का अर्थ है कि समय समाप्त होने से पहले कितना ऑपरेशन समय बना रहता है। तो, उपर्युक्त निश्चित रूप से टाइमआउट के साथ समस्या को चालू कर सकता है। आपके बाध्यकारी में कॉन्फ़िगर किया गया टाइमआउट कम है, जहां ऐसा लगता है कि 1 मिनट से अधिक समय लगता है। आप टाइमआउट मानों को कम करने का प्रयास कर सकते हैं, खुले टाइमआउट मान की संभावना है।

HTH अमित

+0

हाय अमित, प्रतिक्रिया के लिए धन्यवाद। मैं टाइमआउट मानों को टॉगल करूंगा, लेकिन जैसा कि मैंने नोट किया है, यह 0 सेकंड के बाद समाप्त हो जाता है। कॉल को पूरा होने में एक सेकंड से भी कम समय लेना चाहिए, इसलिए मुझे नहीं पता कि यह एक मिनट से अधिक समय ले सकता है। – Noel

+0

इसके अलावा, आप क्यों कहते हैं कि यह ऑपरेशन का समय है? यह मेरे लिए खुले समय की तरह दिखता है ...? – Noel

+0

क्षमा करें, मेरा बुरा ... मैं बस अपवाद संदेशों में टाइमआउट लॉग इन करने की अवधारणा को इंगित करना चाहता था। मुझे यकीन नहीं है कि "0 सेकंड के बाद यह समय" से क्या मतलब है, क्या आप एक सेकंड के भीतर विफल होने का अनुरोध देखते हैं? – amit

संबंधित मुद्दे