Разрешено ли использовать веб-корень в качестве корня WCF-RESTservice? - PullRequest
1 голос
/ 16 сентября 2011

Законно ли создание службы RESTful WCF на веб-сайте asp.net, где ServiceRoute напрямую указывает на корень Интернета.
Я проверил его на интегрированном веб-сервере VS2010, и он работал именно так, как я хочу, но разве это взлом, и могу ли я столкнуться с проблемами с такой комбинацией в производственной среде?

Для уточнения: у меня есть несколько .aspx-страниц на сайте, корень веб-страниц также определен с сайтом default.aspx. Кроме того, я хочу интегрировать некоторые REST-ресурсы через веб-сервис WCF на этом веб-сайте и хочу, чтобы URI были в диапазоне URI веб-сайтов.

Пример:
http://[server]/ -> Здесь должен быть выполнен default.aspx
http://[server]/APage.aspx -> Здесь APage.aspx должен быть выполнен
http://[server]/Users/[UserName]/ -> Здесь метод службы, объявленный с помощью [WebGet], должен называться

1 Ответ

0 голосов
/ 18 октября 2011

Описанный дизайн, похоже, работает на производственном IIS, хотя необходимо выполнить дополнительную настройку (в любом случае, не только для установки root. См. Кодовый блок ниже).

Однако после этого все неизвестные запросы будут перенаправлены на веб-сервис. Когда клиент вызывает путь к веб-сайту без страницы, например http://[server] или http://[server]/News, и ни один REST-ресурс не имеет назначения для этого пути, будет отображаться справка WCF (если она включена).

Чтобы включить комбинацию asp.net и wcf-REST-Service, установите для multipleSiteBindingsEnabled -элемента serviceHostingEnvironment -элемента значение true.

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
    <standardEndpoints>
      ...
    </standardEndpoints>
  </system.serviceModel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...