Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 运行在windows server IIS上的.NET服务的System.NullReferenceException,但在Visual Studio IIS Express中运行时在本地工作_C#_Asp.net_Iis - Fatal编程技术网

C# 运行在windows server IIS上的.NET服务的System.NullReferenceException,但在Visual Studio IIS Express中运行时在本地工作

C# 运行在windows server IIS上的.NET服务的System.NullReferenceException,但在Visual Studio IIS Express中运行时在本地工作,c#,asp.net,iis,C#,Asp.net,Iis,我继承了一个.NET项目,在该项目中,当在Windows Server IIS上运行时,在获取正确返回的服务时遇到问题 ExceptionType为System.NullReferenceException Stacktrace位于System.ServiceModel.InstanceContext.GetServiceInstance(MessageMessage)的System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceIn

我继承了一个.NET项目,在该项目中,当在Windows Server IIS上运行时,在获取正确返回的服务时遇到问题

ExceptionType为
System.NullReferenceException

Stacktrace位于System.ServiceModel.InstanceContext.GetServiceInstance(MessageMessage)的System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(Message Message)的createIntegrata.HLX.SB.Web.WS_Reps..ctor()处的Integrata.HLX.SB.Web.WS_Reps..ctor()处在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&rpc)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc)在System.ServiceModel.Dispatcher.MessageRpc.Process(布尔等操作上下文集)

当我试图发布到服务的端点时,会引发此错误。我假设我在web.config中丢失了一些东西,使其能够在Windows服务器的IIS上工作,或者可能在Windows服务器的IIS中丢失了功能设置

以下是相关的web.config设置



任何帮助都将不胜感激。谢谢

我能够回答我自己的问题。在本例中,我的修复方法是生产服务器上的web.config缺少行

我通过查看Windows事件查看器日志找到了更多信息,并发现此关键信息位
该服务无法激活,因为它需要ASP.NET兼容性。


将上述行插入web.config并重新启动AppPool和服务器后,服务开始正常工作。我希望这对将来的任何人都有帮助。

当异常明确地为您提供了调用堆栈时,我想知道是什么阻止您从那里进行调试。你必须更具体,分享更多细节。有太多的差异,所以你不能让其他人帮你猜。我曾尝试使用远程调试,但我无法向服务代码添加断点(我相信它会抱怨没有定义符号)。我可以在我的web应用程序源代码中插入断点,而这些断点在使用远程调试时确实会被击中。@LexLi:感谢您花时间研究这个问题,但正如我上面指出的,我可以进行远程调试。如果我以调试模式构建应用程序(生成所有.PDB文件),并将其部署到windows服务器,我可以成功调试web应用程序源代码,但无法调试项目的App_code目录中的服务代码。我已修复了它。显然,web.config缺少这一行,
我通过检查Windows事件查看器日志找到了更多信息,并找到了这一关键信息位
由于该服务需要ASP.NET兼容性,因此无法激活该服务为我指明了正确的方向。只希望原始例外有更多相关信息。