Служба WCF работает в Кассини, но не в IIS

Я создал службу с подключением к базе данных, которая работает нормально в Cassini, когда при копировании службы в inetpub все работает нормально, кроме вызовов базы данных, они всегда возвращают эту ошибку:

Сервер обнаружил ошибку при обработке запроса. Смотрите логи сервера для более подробной информации."

Теперь у меня есть 2 вопроса,

  1. Я могу найти журналы сервера в моей папке C:\inetpub\logs\LogFiles\W3SVC1. Но они упомянуты, потому что они, кажется, не содержат каких-либо полезных данных.

  2. Как это возможно, что все работает в Кассини, но не в IIS?

Если есть какие-либо вопросы по моему вопросу, пожалуйста, продолжайте!

Изменить Я использую Visual Studio Team System 2008 и IIS 7.0

3 ответа

Решение

Запустите Visual Studio от имени администратора

Обычно это проблема с разрешениями.

Если вы используете значения по умолчанию:

  • Строка подключения использует доверенное соединение
  • Когда вы запускаете через Кассини, вы находитесь в контексте безопасности вашего пользователя
  • При запуске через IIS вы находитесь в контексте безопасности идентификатора пула приложений, который является сетевой службой.

Чтобы это исправить, вы можете:

  • изменить строку подключения
  • изменить удостоверение пула приложений
  • предоставить сетевой сервис доступ к вашей базе данных

Я предполагаю, что разрешения. Вы используете аутентификацию Windows?

В случае аутентификации Windows: http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c7725

Другие вопросы по тегам