Как я правильно размещаю Услугу передачи данных WCF, которая соединяется с SQLServer в IIS? Почему я получаю ошибки?

Я играю вокруг с Услугами передачи данных WCF (Услуги передачи данных ADO.NET). У меня есть модель платформы объекта, указал на базу данных AdventureWorks.

Когда я отлаживаю свой svc файл из Visual Studio, он работает отлично. Я могу сказать что/awservice.svc/Customers и возвратить Atom-ленту, которую я ожидаю.

Если я публикую сервис (размещенный в веб-приложении ASP.NET) к IIS7, та же строка запроса возвращает 500 ошибок. Корень svc сама страница работает как ожидалось и успешно возвращает ATOM. Клиенты / соединяют сбои каналом.

Вот то, на что мои предоставления похожи в svc файле:

public class AWService : DataService<AWEntities>
{
    public static void InitializeService( DataServiceConfiguration config )
    {
        config.SetEntitySetAccessRule( "*", EntitySetRights.All );
        config.SetServiceOperationAccessRule( "*", ServiceOperationRights.All );
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
    }
}

Обновление: Я включил подробные ошибки, и получите следующее в сообщении XML:

<innererror>
<message>The underlying provider failed on Open.</message>
<type>System.Data.EntityException</type>
<stacktrace>
   at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(
...
...
<internalexception>
<message>
Login failed for user 'IIS APPPOOL\DefaultAppPool'.
</message>
<type>System.Data.SqlClient.SqlException</type>
<stacktrace>
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, ...
7
задан Jordan Parmer 28 April 2010 в 12:26
поделиться

1 ответ

Мне кажется, что это ошибка аутентификации SQL, IIS запускает свой пул приложений под пользователем, у которого нет доступа к вашему серверу SQL, когда вы руин в Visual Studio (локально) будет другим пользователем. Проверьте пользователя, которого использует IIS на сервере, и убедитесь, что у него есть права делать то, что вы хотите в SQL.

8
ответ дан 7 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

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