提问人:Ahmed 提问时间:6/14/2009 更新时间:6/14/2009 访问量:1297
WCF 服务中出现错误报告?
Error Reporting in WCF Service?
问:
我有一个自承载的 Net Tcp WCF 服务,并且我有以下方法
Subscribtion GetSubscribtion(int subscribtionId)
{
Subscribtion s;
if (_subscribtionTable.TryGetValue(subscribtionId, out s) == false)
{
Console.WriteLine("Not Found SessionID");//for debugging
throw new ArgumentException("Invalid Subscription Id");
}
return s;
}
抛出异常是在服务编程中报告错误的好做法吗?
答:
5赞
mundeep
6/14/2009
#1
在 WCF 中,应改为定义并引发 FaultException。以下文章提供了示例和详细信息:
2赞
marc_s
6/14/2009
#2
由于 WCF 本身可以与 non-.NET 平台互操作,因此使用严格的 .NET 构造 Exceptions 是一个坏主意。如果您有 WCF 连接(例如在会话方案中),它通常还会中断 WCF 连接。
要走的路是使用可互操作的 SOAP 错误,这些错误甚至可以传输到 non-.NET 客户端。
马克
评论
0赞
Ahmed
6/15/2009
但这是net tcp服务,所以我确信所有客户端都是.Net应用程序
0赞
marc_s
6/15/2009
现在 - 是的 - 明天呢?
0赞
marc_s
6/16/2009
如果您已经知道正确的方法是什么,为什么还要开始使用“错误”的方法呢?你最终会在未来的某个时候遇到问题.....
上一个:.net 的错误报告框架
评论