Служба WCF работает в Кассини, но не в IIS
Я создал службу с подключением к базе данных, которая работает нормально в Cassini, когда при копировании службы в inetpub все работает нормально, кроме вызовов базы данных, они всегда возвращают эту ошибку:
Сервер обнаружил ошибку при обработке запроса. Смотрите логи сервера для более подробной информации."
Теперь у меня есть 2 вопроса,
Я могу найти журналы сервера в моей папке C:\inetpub\logs\LogFiles\W3SVC1. Но они упомянуты, потому что они, кажется, не содержат каких-либо полезных данных.
Как это возможно, что все работает в Кассини, но не в IIS?
Если есть какие-либо вопросы по моему вопросу, пожалуйста, продолжайте!
Изменить Я использую Visual Studio Team System 2008 и IIS 7.0
3 ответа
Обычно это проблема с разрешениями.
Если вы используете значения по умолчанию:
- Строка подключения использует доверенное соединение
- Когда вы запускаете через Кассини, вы находитесь в контексте безопасности вашего пользователя
- При запуске через IIS вы находитесь в контексте безопасности идентификатора пула приложений, который является сетевой службой.
Чтобы это исправить, вы можете:
- изменить строку подключения
- изменить удостоверение пула приложений
- предоставить сетевой сервис доступ к вашей базе данных
Я предполагаю, что разрешения. Вы используете аутентификацию Windows?
В случае аутентификации Windows: http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c7725