C# WCF服务-在本地工作,但返回异常;“坏数据”;出版时

C# WCF服务-在本地工作,但返回异常;“坏数据”;出版时,c#,wcf,vsto,C#,Wcf,Vsto,我正在部署一个基本的WCF服务,它对数据库执行查询,并返回VSTO excel加载项要使用的数据 当测试在本地运行服务时,一切都正常,但是一旦addin指向发布的服务,我就会得到500个错误“坏数据”(这就是返回soap数据包中包含的全部内容) 发布端的代码与本地代码相同,我可以通过本地浏览器查看服务。发布端是本地网络上运行IIS7.0的另一台机器 客户端配置: <binding name="zzzServiceBinding" closeTimeout="00:01:00"

我正在部署一个基本的WCF服务,它对数据库执行查询,并返回VSTO excel加载项要使用的数据

当测试在本地运行服务时,一切都正常,但是一旦addin指向发布的服务,我就会得到500个错误“坏数据”(这就是返回soap数据包中包含的全部内容)

发布端的代码与本地代码相同,我可以通过本地浏览器查看服务。发布端是本地网络上运行IIS7.0的另一台机器

客户端配置:

      <binding name="zzzServiceBinding" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="10485760" maxBufferPoolSize="524288" maxReceivedMessageSize="10485760"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="TransportCredentialOnly">
              <transport clientCredentialType="Ntlm" proxyCredentialType="None"
                  realm="" />
              <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
      </binding>
图书馆-

    public static DataTable GetBranchList(DateTime ReportDate)
    {
        DbInstance db = GetDBConnection();

        try
        {
            string SQLText = "zzzschema.usp_zzzGetBranchList";
            return db.QueryReturningDataTable(SQLText, CommandType.StoredProcedure, db.CreateParameter("@ReportDate", ReportDate));
        }
        finally
        {
            db.Close();
        }
    }

我知道库例程可以工作,因为我在单元测试中对它进行了测试,当从本地运行的服务调用它时,它也可以工作。

删除服务周围的日志记录层后,我可以看到日志记录层中没有的堆栈跟踪


原来是配置疏忽-堆栈跟踪显示我错过了与存储数据库登录详细信息相关的部署脚本。

网页或web服务上的HTTP 500错误强烈表明遇到了未处理的异常。您能告诉我们组成服务的代码吗?在原始问题中添加了一个服务调用,但这与在本地服务上运行并起作用的代码相同。不幸的是,日志组件似乎有问题,我也没有得到日志文件:(-我正在调查的另一个问题。可能这就是未处理异常的来源;-)不幸的是,没有:(-我在没有日志包装的情况下进行了测试,并收到了相同的错误消息。
    [FaultContract(typeof(Exception))]
    public DataTable GetBranchList(DateTime ReportDate)
    {
        try
        {
            return zzzLibrary.GetBranchList(ReportDate);
        }
        catch (Exception ex)
        {
            throw LogAndThrow(ex);
        }
    }


    protected FaultException LogAndThrow(Exception ex)
    {
        log.Error("Error in the zzz Service.", ex);
        return new FaultException(new FaultReason(ex.Message));
    }
    public static DataTable GetBranchList(DateTime ReportDate)
    {
        DbInstance db = GetDBConnection();

        try
        {
            string SQLText = "zzzschema.usp_zzzGetBranchList";
            return db.QueryReturningDataTable(SQLText, CommandType.StoredProcedure, db.CreateParameter("@ReportDate", ReportDate));
        }
        finally
        {
            db.Close();
        }
    }