2011-02-17 15 views
6

के पीछे है तो मेरे पास सर्वर पर होस्ट की गई डब्ल्यूसीएफ सेवा है। एक क्लाइंट एप्लिकेशन विंडोज 7 मशीन पर सेवा तक पहुंच रहा है। विंडोज 7 मशीन पर दो उपयोगकर्ता हैं। विंडोज़ एप्लिकेशन क्लिकऑन्स के माध्यम से स्थापित है, इसलिए दो उपयोगकर्ताओं के लिए अलग-अलग उदाहरण होगा।ग्राहक अनुप्रयोग से डब्ल्यूसीएफ सेवा का उपयोग जब उपयोगकर्ता प्रॉक्सी

जब USERA Winforms आवेदन के माध्यम से सेवा यह ठीक काम करता है तक पहुँचने, लेकिन जब एक ही मशीन यह अपवाद निम्नलिखित फेंकता का उपयोग करने की कोशिश कर रहा पर UserB: संचार अपवाद: दूरस्थ सर्वर एक अनपेक्षित प्रतिक्रिया मिली: (417) अपेक्षा विफल।

Server stack trace: 
    at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException, ChannelBinding channelBinding) 
    at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) 
    at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) 
    at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, 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) 

Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 
    at Myapp.ServiceProxy.IMyAPIService.GetData(String userName, String passWord) 

क्या एक उपयोगकर्ता के लिए नहीं काम करने और अन्य के लिए पीछे का कारण हो सकता है? क्या मुझे कुछ याद आ रही है?

अद्यतन: हालांकि मैं एक समाधान (कृपया नीचे मेरा उत्तर देखें) इस मुद्दे पर पाया, लेकिन अभी भी पता है कि इस परिदृश्य में किया जाना चाहिए चाहता था। चूंकि एमएसडीएन article कहता है कि यह उपयोगकर्ता को सर्वर पर बड़ी मात्रा में डेटा भेजने के लिए अवरुद्ध करता है, लेकिन इसमें किसी भी सीमा के बारे में उल्लेख नहीं किया गया है?

डेटा क्लाइंट की सीमा सर्वर पर क्या भेज सकती है? प्रॉक्सी के पीछे वाले क्लाइंट से डब्ल्यूसीएफ सेवा को जोड़ने के लिए कोई बेहतर तरीका है?

+1

अपवाद क्या है? – Pedro

+2

यहां देखें कि कोड के साथ इसे कैसे करें: http://stackoverflow.com/questions/566437/http-post-returns-the-error-417-expectation-failed-c – dummy

उत्तर

10

अंततः मैंने इसे क्रैक किया। ऐसा इसलिए होता है क्योंकि उपयोगकर्ता प्रॉक्सी के पीछे है।

app.config में सेटिंग के बाद समस्या का समाधान हो:

<system.net> 
    <settings> 
     <servicePointManager expect100Continue="false" /> 
    </settings> 
</system.net> 

लेकिन यह अभी भी बड़ी फाइल अपलोड करने के लिए एक मुद्दा है, उसी के लिए एक समाधान के लिए अब देख। MSDN article में इस पर

अधिक जानकारी

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