У меня есть тип приложения клиент/сервер, и я хотел бы, чтобы объект сервера создавал свой собственный хост. Это выглядит примерно так:Может ли служба WCF создать собственный хост?
public class Server : IServer {
private ServiceHost m_Host;
public Server() {
m_Host = new ServiceHost(this);
m_Host.Open();
}
}
Кажется, что он работает нормально, когда происходит небольшое количество сообщений. Но когда он начинает ускоряться (мое приложение требует, чтобы данные передавались каждые 50 мс), сервер зависает, а передача останавливается через несколько секунд без выброса исключения.
Итак, возможно ли создать объект для своего хозяина? Или мне действительно нужно создать его в main() или сделать что-то еще?
EDIT: Я думаю, что проблема в этом случае заключается в том, что я хочу, чтобы объект, который реализует сервис, создает свой собственный ServiceHost.
Я думаю, что проблема в моем случае заключается в том, что это не * любой * объект, который создает ServiceHost, это объект, который реализует саму службу. Я отредактирую свой вопрос, чтобы сделать его более ясным ... –
А, ок - ну, это не похоже на плохую идею ИМХО. Вы * можете * создать экземпляр хоста службы в любом объекте, но я действительно не буду использовать объект реализации службы сам по себе - звучит как действительно плохая идея ..... (ServiceHost размещает Сервис внутри самого класса Service. .... даже думать об этом, похоже, рекурсивно и опасно ....) –