WCF .SVC файл служил в качестве простого текста в IIS7.5 .NET 4.0 - не под веб-сайтом по умолчанию - PullRequest
0 голосов
/ 18 декабря 2011

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ : Оказывается, это была красная сельдь из-за проблемы сжатия с модулем DotNetNuke. Мне пришлось добавить в модуль DNB PageBlaster, так что это больше не проблема.

Я впервые развернул файл WCF svc на своем живом веб-сайте , и он отображается / отображается в браузере в виде обычного текста. Он отлично работает в моей среде разработки на localhost. Вы можете увидеть проблему здесь:

http://www.pokerdiy.com/test.svc

Веб-сайт работает на IIS 7.5.7600.16385 на Windows Server 2008 R2 Версия 6.1 SP1 (64-разрядная) в Интегрированном пуле приложений с .NET 4.0 (я использую Entity Framework 4.2).

ОБНОВЛЕНИЕ: На действующем сервере сайт добавляется как веб-сайт (т. Е. Не на веб-сайте по умолчанию), тогда как в моей среде разработки DotNetNuke работает как виртуальный каталог на веб-сайте по умолчанию с собственным web.config (который я сравнил с тем, что есть на живом сайте, и идентичен).

Интересно, что когда я нахожусь на работающем сервере и просматриваю файл test.svc на веб-сайте DEfault, он работает (http://localhost/Test.svc) - однако файл на веб-сайте PokerDIY.com этого не делает ( http://www.pokerdiy.com/test.svc). Так что кажется, что мой веб-сайт по умолчанию чем-то отличается от дополнительных веб-сайтов?

Еще одна интересная вещь: я удалил все сопоставления обработчика .svc и теперь могу получить ошибку «Ошибка HTTP 404.3 - Not Found». Таким образом, отображения обработчиков перехватывают это, просто ничего с этим не делает! Я могу вернуть его к статическому тексту, повторно добавив сопоставления обработчика .svc.

После большого количества RTFMing, первое, что я проверил, было сопоставление обработчиков согласно статье MS: все сопоставления svc есть (интегрированный svc находится наверху как для этой статьи )

Я также переустановил WCF в соответствии с этой статьей без разницы. Используя Fiddler, я вижу, что Content-Type это "text / html"

Что еще можно попробовать?

Примечание. Веб-сервисы ASMX, файлы ASP.NET и т. Д. Работают нормально.

Обновление : мой провайдер хостинга предложил мне сделать каталог, в котором находится служба, в виртуальном каталоге, чего мне не нужно было делать на моей локальной машине в Dev. Так что теперь он использует родительские веб-сайты и, по крайней мере, он что-то делает - он получает другую ошибку. Это не звучит правильно, хотя - почему бы не обработать appool веб-сайта? Я переместил .svc в корень (http://www.pokerdiy.com/test.svc), чтобы убрать это из уравнения).

Другие вещи, которые я пробовал: Изменение модулей runAllManagedModulesForAllRequests = "false" на "true" (в моем файле web.config это false ) % windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir WCF в IIS 5.1 служил в виде простого текстового файла 404 при запуске службы .net 4 WCF в IIS (без файла svc)

Ответы [ 3 ]

2 голосов
/ 18 декабря 2011

Убедитесь, что вы включили роль сервера приложений.

0 голосов
/ 27 ноября 2014

Убедитесь, что просмотр каталогов также "отключен"

0 голосов
/ 20 декабря 2011

Мой хостинг-провайдер говорит, что каталог ("/ framework") на веб-сайте должен быть настроен как виртуальный каталог и использовать родительский AppPool.

Когда я делаю это, кажется, что svc обрабатывается (и я получаю другой набор ошибок .NET).

Однако в моей среде разработки подпапка НЕ ​​является отдельным виртуальным каталогом - должен ли он быть?

...