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