我的.net 3.5 Web服务在Server 2008 R2上运行但在Server 2012 R2上不起作用,是什么给出的?

时间:2017-01-19 17:14:40

标签: wcf windows-server-2012-r2

我正在寻找并拔掉我的头发,但似乎无法找到解决方案。 我有一个WCF Web服务应用程序,可以在IIS下的Server 2008 R2上正常工作。我现在有一台带有Server 2012 R2的新服务器,我无法让网络服务在IIS下完全运行。

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

WCF Test Client Error

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

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

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

服务器堆栈跟踪:    在System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息回复,MessageFault错误,字符串操作,MessageVersion版本,FaultConverter faultConverter)    在System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc& rpc)    在System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs,TimeSpan timeout)    在System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs)    在System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)    在System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

在[0]处重新抛出异常:    在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)    在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type)    at iAxRegService.GetSchoolInfo(String DatabaseKey,String OptCommand)    at iAxRegServiceClient.GetSchoolInfo(String DatabaseKey,String OptCommand)

再次说明:如果我将WCF客户端转到指向Server 2008 R2上的相同服务,我会收到正确的响应。那么我做错了什么?

非常感谢任何帮助。 好像我已经打开了其他帖子提到的每个选项,包括svc处理程序映射和MIME类型。

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

1 个答案:

答案 0 :(得分:0)

好的,我现在可以看到为什么我对这个问题没有回应。 IIS和SQL中的所有内容都已正确设置。 问题是我们的应用程序。它需要经过身份验证的用户,并且Web Service无法对公共匿名用户进行身份验证,因为我们从未将该公共用户添加到允许的用户列表中。 我认为最大的问题是WCF测试客户端,只是给了我无意义的"对象没有设置为对象的实例"错误。 无论如何,我只是想关闭这个问题。