来自WCF服务的意外错误消息

时间:2011-09-22 16:45:32

标签: wcf

我在服务器上部署了一个wcf webservice。如果出现异常,则错误消息的行为类似于从本地计算机执行代码。例如,以下错误消息表示存储实际代码的本地计算机文件夹。例如“C:\ initpub ...”。为什么我在服务器上收到此错误。有什么建议吗?

  

消息:对象引用未设置为对象的实例   跟踪:
  服务器堆栈跟踪:
  在
  System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime   操作,ProxyRpc& RPC)

     

在[0]处重新抛出异常:
  在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage   reqMsg,IMessage retMsg)
  在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&   msgData,Int32类型)
  在Domain.ExternalAccount.ExternalAccount.InsertExternalAccountWithPositions(ExternalAccountWithPositionsInParam)   请求)
  在Domain.ExternalAccount.ExternalAccountClient.InsertExternalAccountWithPositions(ExternalAccountWithPositionsInParam)   请求)在   C:\的Inetpub \ wwwroot的\网站\安全\ finplanextsvc \ NaviplanExternalServices \域\ ExternalAccount.cs:行   3145
  at NaviplanExternalServices.NaviplanExternalAccount.InsertExternalAccount(AccountType   中的acctType,ExternalPosition []位置)    C:\ Inetpub \ wwwroot \ Site \ Secure \ finplanextsvc \ NaviplanExternalServices \ NaviplanExternalServices \ Services \ NaviplanExternalAccount.svc.cs:第178行

2 个答案:

答案 0 :(得分:2)

原始源路径和行号存储在随应用程序一起构建的.pdb文件中。如果您还使用.dll部署.pdb,那么您将在堆栈跟踪中获取这些内容。这是默认的.net行为,如果在.dll或.exe旁边的deploy目录中有.pdb,实际上会使执行速度变慢。您可以通过不部署或删除.pdb文件来从错误消息中删除该详细信息。

答案 1 :(得分:1)

构建项目时,源文件位置将编译到.pdb中。它始终指的是构建它的源路径。