【发布时间】:2011-03-05 01:53:58
【问题描述】:
我有一个 WCF 服务,我在我的代码中使用它并生成为 ChannelFactory 类。我知道使用 WCF 的正确方法是创建 ChannelFactory(我们称之为 AwesomeClient),完成工作,然后在其上调用 Close()。 这是我的 sn-p:
public static void DoSomething()
{
var client = new AwesomeClient();
client.DoSomethingAwesome();
client.Close();
}
但是,我希望 DoSomething 会被非常频繁地调用(比如说每分钟 10 次?),所以我得到的建议是将 ChannelFactory 实例化为静态实例,并始终重用相同的实例,并且永远不会关闭它(因为这比总是重新创建 ChannelFactory 然后关闭它“便宜”)。
我在这里征求第二意见,谁能告诉我为什么不调用 Close 并重用静态实例是个好主意?还是我应该坚持为每次调用重新创建 ChannelFactory 和 Close()-ing?
【问题讨论】:
标签: .net wcf channelfactory