我在服务器上托管了WCF服务.客户端应用程序正在
Windows 7计算机上访问该服务. Windows 7计算机上有两个用户. Windows应用程序是通过Clickonce安装的,因此两个用户可以使用单独的实例.
当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,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)
更新:
虽然我找到了解决此问题的解决方案(请参阅下面的答案),但仍想知道在这种情况下应该做些什么.正如MSDN article所说它阻止用户向服务器发送大量数据,但它没有提到任何限制吗?
客户端可以发送到服务器的数据限制是多少?有没有更好的方法来连接来自代理服务器后面的客户端的WCF服务?