Привязки HTTPS и HTTP WCF с одним web.config - PullRequest
2 голосов
/ 23 декабря 2009

Есть ли способ, которым я могу сделать следующее:

Один файл Web.config для веб-приложения .net. веб-приложение предоставляет ряд служб WCF для использования в JavaScript.

Для производства требуется ssl, поэтому все эти сервисы вынуждены использовать ssl.

Разработка не допускает ssl, (сервер разработки ASP.NET)

Как я могу настроить это так, чтобы производство использовало конечную точку HTTPS, а разработка использовала конечную точку HTTP для той же службы?

Добавление двух конечных точек к одной и той же службе не работает, поскольку при попытке подключения к конечной точке HTTP выдается ошибка, поскольку сервер разработки asp.net не поддерживает конечную точку https.

Ответы [ 2 ]

2 голосов
/ 19 января 2010

Я решил это с помощью ServiceHostFactory, чтобы сгенерировать для меня соответствующие привязки.

Сначала было немного неловко, с меньшим контролем, но в итоге получилось лучше.

это строка, которая была ключевой, я поместил ее в мой файл .svc:

Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"

0 голосов
/ 24 декабря 2009

Я не уверен, что это лучшее решение вашей проблемы, но один из способов сделать это - объявить в файле конфигурации переменную, чтобы указать, в какой среде он работает (dev или prod). Если вы настроите две конечные точки, вы можете сказать в своем коде хостинга:

если environment == "dev", то разместить службу в конечной точке A.

если environment == "eval", то разместить службу в конечной точке B.

...