【发布时间】:2012-05-08 14:22:47
【问题描述】:
我继承了 WCF 服务,它充当文件缓存(每个文件代表对第三方 API 的请求的结果)。目前,如果文件不存在,代码会创建一个新请求来创建数据,并且还会向客户端代码引发异常。
我认为这个想法是客户会回来再次请求文件,然后他们就可以使用它(生成文件需要几秒钟)。
我认为这里有代码味道,我应该重写这部分。目前,异常正在通过几种方法被捕获并冒泡。我想我应该在源代码中确定文件是否存在并将该信息传递到调用堆栈。
在 WCF 界面,我目前有一个 GetValue() 方法,但我认为可以使用两个选项来替换它:
- 如果文件不存在则返回
null。 - 使用
bool TryGetValue(string key, out string value)方法
有没有人有任何偏好/建议?
谢谢
【问题讨论】:
-
为什么不试试 Fault Exception,可以将花哨的错误发送给用户?
标签: c# wcf exception-handling trygetvalue