【发布时间】:2011-03-02 15:48:32
【问题描述】:
与 asmx 实现不同,wcf 需要您实现它的接口。我不太明白这种设计背后的原因。接口是 2 个类之间的契约...话虽如此,您多久有 2 个 wcf 服务满足相同的接口但实现方式不同?
另一条评论,msdn强烈建议这样做:
MyService service = new MyService();
try {
service.DoWork();
}
catch(Exception) {}
finally {
service.Close();
}
假设我要使用这样的接口注入我的服务:
public MyComponent : IDisposable
{
readonly IMyService service = null;
public MyComponent(IMyService service) {
this.service = service;
}
public DoWork()
{
//some additional code.
this.service.DoWork();
}
public void Dispose()
{
//The Interface does not have the Close method,
//So doing this defeats the whole purpose of polymorphysm
(this.service as MyService).Close(); //Silly.
}
}
如何利用 WCF 的接口?
【问题讨论】:
标签: .net wcf c#-4.0 polymorphism