Итак, я создал службу REST на основе WCF Web API.Он отлично работает на моем местном IIS.Но когда я развертываю его на внешнем сервере, он не работает.
В моем global.asax.cs я сопоставляю маршрут "MyRoute" с классом MyHandler.Поэтому, когда я перехожу на http://localhost/MyApplication/MyRoute/MyResource, я получаю действительный ответ.
Однако на внешнем сервере после развертывания, если я открываю http://localhost/MyApplication/MyRoute/MyResource в IE, я получаю «Internet Explorer не может отобразить веб-страницу"(FF =" Соединение было восстановлено - соединение с сервером было сброшено во время загрузки страницы ")
Если я ввожу недопустимое имя ресурса: http://localhost/MyApplication/MyRoute/adfasdf Я получу тот же результат привнешний сервер, когда я получаю локально: «Конечная точка не найдена».
Кроме того, я попытался удалить всю логику из метода в MyHandler, которому сопоставлен / MyRoute / MyResource, чтобы увидеть, что в этом коде что-то естьэто приводило к сбою запроса, но результат остается.
Мое лучшее предположение - проблема с отображением маршрута.
Я был бы очень благодарен за помощь либо в этом конкретном случае, который я имею, либо в более общем плане о том, как отладить это.Одно разочарование заключается в том, что я даже не знаю, где я могу найти журналы ошибок.Я посмотрел в окне просмотра событий, но ничего не могу найти и не знаю, где искать.
Буду рад опубликовать код, если это поможет.
edit:
Хорошо, так что я решил проблему.Это была вещь маршрутизации.Я решил это, включив это в web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule" />
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer>
Я все еще не возражаю против понимания механизмов, стоящих за этими модулями.Где они определены?Существует ли файл конфигурации для сервера, который определяет, какие модули загружены, поскольку, по-видимому, это несколько отличается от моего локального IIS и внешнего?
... И я до сих пор не знаю, где находятся журналы.