Для некоторого кода тестирования я хотел бы иметь возможность размещать службу WCF всего в нескольких строках. Я полагал, что я написать простой класс хостинг:Является ли это правильным способом размещения службы WCF?
public class WcfHost<Implementation, Contract> : IDisposable
where Implementation : class
where Contract : class
{
public readonly string Address = "net.tcp://localhost:8000/";
private ServiceHost _Host;
public WcfHost()
{
_Host = new ServiceHost (typeof (Implementation));
var binding = new NetTcpBinding();
var address = new Uri (Address);
_Host.AddServiceEndpoint (
typeof (Contract),
binding,
address);
_Host.Open();
}
public void Dispose()
{
((IDisposable) _Host).Dispose();
}
}
Это может быть использовано, как это:
using (var host = new WcfHost<ImplementationClass, ContractClass>()) {
Что не так с этим подходом? Есть ли недостаток в коде (особенно об утилизации)?
Да, я слышал об этой проблеме. Поэтому я вижу это применительно к этому делу. – mafu
Да, мне нужно было выяснить, как эта проблема относится не только к клиентам, но и к хостам ... –