Можно ли разместить один и тот же WCF в более чем одном приложении (службе Windows), управляемом с помощью разных конечных точек или какой-либо подобной идеи?

Можно ли разместить один и тот же WCF в нескольких приложениях (или службах Windows), управляемых с помощью разных конечных точек или какой-либо подобной идеи?

В основном нам нужно до 4 версий одной и той же запущенной службы Windows (например, Service1 ... Service4), использующих и размещающих одну и ту же dll WCF, но собирающих запросы от клиентов к определенной службе ?.

Например: мне нужна возможность для клиента спрашивать «один» у Услуги? хосты для выполнения процедуры вычислений - может быть, с несколькими конечными точками? ..

        Consume.ServiceRef.WCFServiceClient obj = new Consume.ServiceRef.WCFServiceClient("Service1");


        bool res = obj.ProcessCalc(out response, out error, request);

Другой клиент может запросить с другого хоста ...

Consume.ServiceRef.WCFServiceClient obj = new Consume.ServiceRef.WCFServiceClient("Service3");

Все хосты выполняют одни и те же функции, но мне нужно несколько хостов из-за некоторых сложностей со сторонним программным обеспечением и бизнес-требованиями.

Я делал это раньше (20 лет назад) сам, используя сокеты (и саморегулируемую многопоточность) на сервере DEC VMS, но хотел бы использовать WCF для простоты использования.


person Skyline    schedule 02.08.2012    source источник


Ответы (2)


Да, это возможно с помощью простых изменений конфигурации, что является одним из основных преимуществ WCF.

см. http://www.c-sharpcorner.com/uploadfile/dhananjaycoder/configuring-multiple-end-points-for-wcf-service/

Надеюсь это поможет :)

person Peru    schedule 02.08.2012

Да, это возможно.

Вы можете настроить свои конечные точки в конфигурации, и служба выберет, какую привязку использовать. Вы можете использовать параметры командной строки или параметры службы, чтобы выбрать, какую конечную точку использовать для экземпляра.

person Gerard Sexton    schedule 02.08.2012
comment
Не могли бы вы привести несколько простых примеров. Я пробовал несколько конечных точек, но он жалуется, что для каждого базового адреса и т. Д. Разрешен только один хост, даже если конечные точки имеют разные имена - все конечные точки будут использовать одну и ту же конфигурацию и т. Д., Просто нужны разные имена. - person Skyline; 02.08.2012