Как развернуть сервис WCF на IIS 6.0

У меня есть IIS 6.0 на Windows Server 2003.

Я установил.NET 3,5 и 4 беты 2. "Нормальные" вещи ASP работают (прекрасные). Но когда я пытаюсь перейти к своему сервису (/myServer/MyService.svc) Я получаю 404. Страница, не найденная.

Чтобы быть точным, я добрался 404, 2 "политики блокировки расширения веб-сервиса предотвращают этот запрос".

Я использовал ServiceModelReg.exe /ia чтобы удостовериться, что расширение я известный и я проверил использование конфигурации:

административные средства, iis, вкладка дома, конфигурация, исполняемое поле, и там:

Расширение: .svc, путь: c:\windows\microsoft.net\framework\v4.0.210..., глаголы: все глаголы.

Таким образом, все кажется OK. Но я все еще получаю 404-2.

6
задан Peter Mortensen 6 May 2010 в 23:37
поделиться

3 ответа

[

] Можете ли вы показать нам ваш web.config на стороне сервера (только в разделе [] [])? Где на вашем сервере живет ваша служба?[

] [

]При хостинге в IIS, адрес вашей службы определяется:[

] [
    ] [
  • ]именем (или IP адресом) сервера[
  • ] [
  • ]именем виртуальной директории (плюс любыми поддиректориями под этой директорией), в которой находится ваш файл *.svc[
  • ] [
  • ]the *. сам файл svc[
  • ] [
] [

]так что это будет что-то вроде:[

] [
http://YourServer/YourVirtualDirectory/MyService.svc
] [

]Вы, кажется, не используете виртуальную директорию в указанном вами пути - ваш *.svc файл действительно в корне веб-сервера, или вы забыли добавить виртуальную директорию в свой путь?[

].
2
ответ дан 10 December 2019 в 00:39
поделиться

Информация в этой статье блога оказалась бесценной для того, чтобы заставить это работать.

http://xamlcoder.com/blog/?p=7

Я не уверен насчет IIS6, но я создал новый сайт в IIS7 (я не смог заставить все работать в виртуальном каталоге, но это, вероятно, из-за недостатка знаний IIS) Я поместил свой .svc файл в корневой каталог и в ~/Services/

Все начало работать отлично.

В блоге упоминалось, что IIS должен искать в ~/Services/ автоматически при каждом обслуживании .svc файла, но это не работало. Поэтому я просто скопировал .svc файл в корень сайта.

Надеюсь, это поможет.

1
ответ дан 10 December 2019 в 00:39
поделиться

Ваша "политика блокировки расширения веб-службы" не позволяет расширению ASP.NET 4.0 ISAPI обработать ваш запрос. Это случилось со мной, проверьте это:

C:\>cscript c:\WINDOWS\system32\iisext.vbs /ListFile
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Connecting to server ...Done.

Status / Extension Path
------------------------
0  C:\WINDOWS\system32\inetsrv\httpodbc.dll
0  C:\WINDOWS\system32\inetsrv\ssinc.dll
0  C:\WINDOWS\system32\inetsrv\asp.dll
1  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
0  *.exe
0  C:\WINDOWS\system32\inetsrv\httpext.dll
0  *.dll
1  C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
1  C:\WINDOWS\system32\MQISE.DLL
0  C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

У вас есть "0" рядом с v4.0 aspnet_isapi.dll, как у меня? Это ваша проблема. Вам нужно включить его:

C:\>cscript c:\WINDOWS\system32\iisext.vbs /EnFile C:\WINDOWS\Microsoft.NET\Frame
work64\v4.0.30319\aspnet_isapi.dll
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Connecting to server ...Done.
Enabling extension file complete.

Для получения дополнительной информации об инструменте iisext.vbs: http://support.microsoft.com/kb/328419/

7
ответ дан 10 December 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: