我的.net 3.5 Web服务可以在Server 2008 R2上运行,但不能在Server 2012 R2上运行



我一直在搜索并拔出头发,但似乎找不到解决方案。我有一个WCF web服务应用程序,它在IIS下的Server 2008 R2上运行良好。我现在有了一台新服务器,上面有server 2012 R2,我无法在IIS下完全运行web服务。

当我从Visual Studio 2008 WCF测试客户端访问web服务*.svc文件时,它会加载并显示所有web服务。但是,如果我尝试调用其中任何一个,它会返回一个错误,如下图所示。

WCF测试客户端错误

如果您看不到图像:这是测试客户端中返回的错误文本。

未能调用服务。可能的原因:服务脱机或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理、恢复到默认配置或刷新服务来进行恢复。

对象引用未设置为对象的实例。

服务器堆栈跟踪:在System.ServiceModel.Channels.ServiceChannel.SthrowIfFaultUnderstand(消息回复,MessageFault错误,字符串操作,MessageVersion版本,FaultConverter错误转换器)在System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc&rpc)在System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime操作,对象[]in,对象[]out,TimeSpan超时)在System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime操作,Object[]ins,Object[]out)位于System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)在System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)

在[0]处重新引发异常:在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage-reqMsg,IMessage-retMsg)在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)位于iAxRegService.GetSchoolInfo(字符串数据库密钥,字符串OptCommand)在iAxRegServiceClient.GetSchoolInfo(字符串数据库密钥,字符串OptCommand)

再次:如果我将WCF客户端转到Server2008R2盒子上的同一服务,我会得到正确的响应。那么我做错了什么?

如有任何帮助,我们将不胜感激。似乎我已经打开了其他文章提到的每个选项,包括svc处理程序映射和MIME类型。

这是我的第一篇帖子,所以如果我需要提供任何其他信息来帮助,请告诉我。非常感谢。

好的,我现在明白为什么我没有得到这个问题的答案了。IIS和SQL中的所有内容都设置正确。问题出在我们的应用程序上。它需要一个经过身份验证的用户,而Web服务无法对公共匿名用户进行身份验证,因为我们从未将该公共用户添加到允许的用户列表中。我认为最大的问题是WCF测试客户端给了我一个毫无意义的"Object Not set to a instance of a Object"错误。不管怎样,我只是想结束这个问题。

相关内容

最新更新