Я осмотрелся и не нашел точно, что я ищу.Служба Windows Form и WCF
У меня есть форма окон и услуга ФОС в том же проекте, и я разместить службу ФОС жгутов формы, выполнив следующие действия:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ServiceHost host = new ServiceHost(typeof(Service1));
host.Open();
Application.Run(new Form1());
host.Close();
И приложение, которое использует сервис не имеют никаких проблем, призывающие его ,
Моя проблема теперь вызывает методы службы wcf в форме Windows. Я мог бы просто сделать
Service1 service = new Service1();
service.doWork();
Но, делая это, я не использую тот же экземпляр, как клиенты службы (даже если я использую InstanceMode.Single), и я хочу.
Я знаю, что могу просто реализовать форму окна в качестве GUI-клиента веб-службы (добавив ссылку на службу).
Но я просто хочу, чтобы служба wcf размещалась в форме окна и получала доступ к тому же экземпляру службы, что и клиенты wcf. Как я могу это сделать?
Так что мне просто нужно было сделать что-то вроде: Service1 service = (Service1) host.SingletonInstance; обслуживание.DoWork(); –
Да, вы можете. Или, как я уже сказал, если вы вручную создаете экземпляр объекта, чтобы использовать упомянутый конструктор, вы можете просто сохранить это доступное, а не проходить через хост. Имеет ли это смысл? –
Просто отлично ... спасибо так много ... хорошая идея –