2013-05-31 3 views
0

У меня есть проект WCF Webservice, построенный на моей локальной машине, который при размещении с использованием тестового клиента и запускается, возвращает значения из удаленной базы данных в формате JSON.Хостинг веб-службы WCF с удаленного сервера

Например, если вы вводите в URL с локального хоста, то вы получите результаты обратно в указанном ниже формате:

{ «Id»: 3, «Значение1»: «67,5687», «значение2»:» 126.7125 "}

Я хочу разместить этот проект на удаленном сервере с общедоступным URL-адресом, который должен возвращать вышеуказанные результаты из любой сети. У меня есть 3 вопроса:

** Какие изменения я должен внести в свой текущий проект WCF для размещения его на удаленном сервере.

** Учитывая различные виды хостинга, как:

1) windows process activation services (WAS) 
2) IIS 
3) Self hosting 
4) Hosting in a Windows service, 

, какой тип хостинга лучше всего подходит для размещения на удаленном сервере.

** Какие изменения я должен внести в свой файл App.Config (включая изменение адреса моей конечной точки с локального адреса на IP-адрес), чтобы сделать работу службы.

Спасибо.

ответ

1

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

2) Учитывая ваш выбор JSON в качестве формата данных и браузера в качестве тестового клиента, я предполагаю, что вы хотите сделать его доступным через HTTP с помощью простых запросов GET. В стеке Microsoft IIS является веб-сервером и естественным выбором для этого сценария.

3) На это невозможно ответить. Я не знаю, что сегодня в вашем app.config. Я не знаю, собираетесь ли вы пройти аутентификацию, и если да, то как. И я не хочу знать! Тем не менее, мне кажется, что все должно вести себя так же, как в вашем блоке dev, привязки уже в порядке. Я не помню, нужно ли службе WCF знать о конечной точке, в которой она находится (трудно понять, почему это нужно знать на самом деле); Я бы счел более естественным делать такую ​​конфигурацию на хосте, например. IIS. Клиент , конечно же, должен использовать другую конечную точку, указывающую на то, где вы размещаете услугу. (Вы можете положить много конечных точек в app.config и позволить пользователю выбрать один, кстати.)

Я думаю, что большинство из нас время от времени грешит против следующего совета, но это лучший совет, который я могу дать: книга. Узнайте как можно больше о том, что вы используете, в этом случае WCF. Вы получите время назад, и ваше программное обеспечение будет менее плохим!