У меня есть сервис WCF, который я использую в своем коде и сгенерировал как класс ChannelFactory. Я знаю, что правильный способ использования WCF - создать ChannelFactory (давайте назовем это AwesomeClient), выполнить работу, а затем вызвать Close () для него.
Вот мой фрагмент:
public static void DoSomething()
{
var client = new AwesomeClient();
client.DoSomethingAwesome();
client.Close();
}
Однако я ожидаю, что DoSomething будет вызываться довольно часто (скажем, 10 раз в минуту?), Поэтому я получил совет создать экземпляр ChannelFactory как статический экземпляр и всегда повторно использовать один и тот же экземпляр, и никогда Закрыть его (потому что это «дешевле», чем всегда заново создавать ChannelFactory и затем закрывать его).
Я здесь для второго мнения, может кто-нибудь сказать мне, почему бы не вызвать Close и повторно использовать статический экземпляр, это хорошая идея? Или я должен просто продолжать воссоздавать ChannelFactory и Close () - для каждого вызова?