【发布时间】:2011-10-19 20:35:24
【问题描述】:
This answer 是为了回复this question 而发布的。
现在这有点超出我的想象,但是“高阶函数”应该在客户端代理类中使用吗?这是正确的用法吗?:
public class MyProxy
{
readonly IMyService service =
new ChannelFactory<IMyService>("IMyService").CreateChannel();
public ResponseObject Foo(RequestObject request)
{
return UseService((IMyService service) =>
service.Bar(request));
}
T UseService<T>(Func<IIssueTrackerService, T> code)
{
bool error = true;
try
{
T result = code(issueTrackerChannel);
((IClientChannel)issueTrackerChannel).Close();
error = false;
return result;
}
finally
{
if (error)
{
((IClientChannel)issueTrackerChannel).Abort();
}
}
}
}
我真正想要的是这里的一些指导,以及正确的方法。
【问题讨论】:
标签: c# .net wcf proxy using-statement