Веб-сервис WCF, использующий WebScriptServiceHostFactory - PullRequest
2 голосов
/ 26 февраля 2010

Я начинаю новый проект с использованием WCF, чтобы я мог использовать jQuery для выполнения AJAX-вызовов на сервер. В прошлом у меня были всевозможные проблемы с настройкой WCF, поэтому я решил провести новое исследование, чтобы увидеть, улучшился ли уровень документации для WCF в VB. К сожалению, документация к WCF для меня все еще такая же облачная, как и при выпуске CTP ...

Однако я заново открыл WebScriptServiceHostFactory и решил попробовать. Исходя из того, что я собрал из нескольких источников, я должен иметь возможность использовать WebScriptServiceHostFactory в моем файле .svc и не беспокоиться о попытках пройти через ABC WCF (намеревался Пун).

Я создал проект, который подключается к SQL Server и через LinqToSql и возвращает набор данных. Я включил WebScriptServiceHostFactory, а также добавил

 <system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
 </system.serviceModel>

в web.config. Но когда я запускаю его, я получаю страшное сообщение об ошибке «Настройки безопасности для этой службы требуют анонимной аутентификации, но она не включена для приложения IIS, на котором размещена эта служба», которое так мучило меня, когда я впервые начал играть с WCF.

Я переписал функцию, чтобы просто возвращать строку вместо подключения к базе данных и т. Д., Просто чтобы посмотреть, сработает ли она, но я получил то же самое.

Таким образом, вопрос заключается в том, что помимо добавления фабрики в файл .svc и ранее упомянутой опции serviceHostingEnviroment в web.config, что я делаю неправильно ???

Я также попытался установить и снять флажок «Включить анонимный доступ» на вкладке «Безопасность каталога» в IIS. (Я проверил встроенную проверку подлинности Windows и дайджест Windows).

Как всегда, спасибо !!!

1 Ответ

1 голос
/ 26 февраля 2010

Эти статьи и сообщения в блоге могут помочь вам начать:

Также для вашей проблемы с хостингом IIS Доминик Байер пишет в Размещение служб WCF в ASP.NET - Руководство по выживанию :

Настройки аутентификации IIS
Еще я заметил, что WCF требует включить анонимную аутентификацию для файлы .svc в IIS (независимо от Настройки аутентификации WCF). если ты поместите файл .svc в существующий ASP.NET приложение, которое использует Windows аутентификация вы увидите эту ошибку сообщение:

"Настройки безопасности для этой услуги требуется «анонимная» аутентификация, но это не включено для IIS приложение, в котором размещен этот сервис. "

Вы должны индивидуально включить анонимный доступ для файлов .svc к заставить это работать.

Так что вы можете либо следовать этой практике, либо вы можете также самостоятельно размещать службу WCF вместо того, чтобы полагаться на IIS - это может сразу решить множество проблем и дать вам больше контроля над вашим хостингом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...