C# 尝试捕获块在wcf中不工作

C# 尝试捕获块在wcf中不工作,c#,.net,wcf,try-catch,C#,.net,Wcf,Try Catch,我有一个WCF服务,已经运行了很长时间了。我最近做了一些更改,它在本地工作正常,但在消息服务器端崩溃(仅对于我更改的方法,所有其他方法都工作正常) 未能调用该服务。可能原因:服务处于脱机状态 或无法接近;客户端配置与配置不匹配 代理现有代理无效。有关详细信息,请参阅堆栈跟踪 更多细节。您可以尝试通过启动一个新的代理进行恢复,恢复 默认配置,或刷新服务 问题是我没有办法调试这个问题,因为它只是在服务器上出现故障。更令人沮丧的是,我确切地知道代码失败的地方,但我不知道为什么,因为我永远无法提取异常数

我有一个WCF服务,已经运行了很长时间了。我最近做了一些更改,它在本地工作正常,但在消息服务器端崩溃(仅对于我更改的方法,所有其他方法都工作正常)

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

问题是我没有办法调试这个问题,因为它只是在服务器上出现故障。更令人沮丧的是,我确切地知道代码失败的地方,但我不知道为什么,因为我永远无法提取异常数据。下面是在WCF服务中命中的方法

    public bool GenerateSpec(string product)
    {
        specService.GenerateSpec(product);
        return true;
    }
这就叫这个

    public bool GenerateSpec(string productNumber)
    {
        try
        {
            SessionFactory factory = new SessionFactory();
            Session = factory.CreateSession(DataConnection.PM);
            productService = new ProductService(Session);

            // other code
            return true;
        }
        catch (Exception e)
        {
            emailService.SendMessage(e.Message + "\n\n" + e.StackTrace);
            return false;
        }
    }
我知道它在
Session=factory.CreateSession(DataConnection.PM)时失败行,但不知道为什么,它似乎只是忽略了我的尝试捕捉块和死亡无论如何。可能发生了什么事?

您确定线路:

emailService.SendMessage(e.Message + "\n\n" + e.StackTrace);

是否未在服务器上引发异常?它可能到达您的try-catch块,但在这一行引发另一个异常

这似乎找不到方法。使用Fiddler查看调用返回的内容。

您可以设置Web.Config,以便将服务器端异常详细信息返回到客户端,以便查看真正的异常

在serviceBehavior中,尝试设置


这似乎找不到方法。使用Fiddler查看调用返回的内容。您可以设置Web.Config,以便将服务器端异常详细信息返回到客户端,以便查看真正的异常。在您的serviceBehavior中,尝试设置听起来好像SendMessage调用引发了异常。@Jim您的评论帮助我解决了这个问题。这是一个简单的问题。请发布一个答案,我会接受。你重命名了productNumber。你更新客户端代理了吗?是的,我想这也是问题所在。然而,我继续说,它仍然失败了。