处理ClientBase故障和SimpleIOC

时间:2014-02-09 00:19:12

标签: mvvm-light

我正在使用mvvm-light中的SimpleIOC以及提供的ViewModelLocator类/模式,以便为ViewModel提供正确的依赖注入。我遇到的问题是,注入到我的ViewModel中的依赖项是一个WCF ClientBase实例,如果遇到错误可以“中断”。一个例子是,如果它尝试连接的服务不存在,则会导致错误。我不知道如何正确处理这个问题。一旦ClientBase派生类处于故障状态,它将不再起作用。 ViewModelLocator继续注入​​我的服务代理的这个破坏的实例,因此即使该服务可访问,代理也会在使用时出错,因为它无法从故障状态恢复。我应该怎么处理这个?

1 个答案:

答案 0 :(得分:0)

我能够自己解决这个问题。答案是在ClientBase代理类周围创建一个包装器,以便在调用创建错误时,包装器类可以正确处理异常,但仍然可以处理下一个调用。