2010-03-26 2 views
0

Я реализовал службу WCF, которая будет использоваться на сайте A с 5 компьютерами в локальной сети, обращающимися к службе.Многостраничный сервис WCF

Что бы я хотел сделать, так это иметь повышенного пользователя/администратора, который сможет использовать одну из 5 машин и запросить идентичную услугу на сайте B (также с 5 компьютерами), с которой им необходимо будет подключиться, минуя LAN-брандмауэр. Доступные данные с сайта A на сайт B (и vica-versa) должны быть доступны только для чтения

Существует ли стандартизированный способ достижения этого с помощью WCF?

ответ

0

Из того, что вы сказали, есть два сайта, каждый с 5 ПК и один сервер. В каждом случае сервер запускает службу WCF, к которой будет обращаться какое-либо приложение на 5 ПК.

Вы сказали, что у вас есть служба WCF. Вы не сказали, как вы обращались к нему, другими словами, что такое клиентское приложение.

  • Предположив, что вы используете клиентские библиотеки WCF, Вы можете specify the binding address in configuration (app.exe.config), или в коде приложения.

  • если вы подключаетесь через браузер и AJAX, это просто другой URL-адрес, который вы укажете.

  • если вы используете что-то еще, то ...?

Также я не понимаю, что вы подразумеваете под «обходом брандмауэра». Это не обойти любые брандмауэры, и я не думаю, что вы этого хотите. Это может быть траверс брандмауэр, но не обходить его.

И это оставляет вам ВАС, чтобы выяснить, как включить или отключить доступ к службе сайта, будь то административная/привилегированная пользовательская вещь или только выбираемый пользователем адрес. Примером последнего может быть разрешение пользователю выбрать «Site A» или «Site B» в раскрывающемся списке в пользовательском интерфейсе WPF.

+0

Я предложил то, что вы сказали, но то, что они хотят, это единый адрес/обязательный/контракт на каждом компьютере пользователя. Когда пользователь подключается к серверу, который является администратором, им требуется логическая отправка запроса на сайт B с сервера, а не на клиент. Я нахожусь в положении, где я не могу не согласиться с тем, что мое предложение состояло в том, чтобы иметь логику на клиенте, чтобы при запросе данных с сайта B вы просто изменяли конечную точку, «они» хотят, чтобы это произошло на сервере. Отчасти проблема заключается в отсутствии понимания ориентации обслуживания, но вы работаете с тем, что у вас есть. – vault