Не удается получить доступ к базе данных из службы данных WCF, размещенной в приложении ASP NET.

Я создал службу данных WCF, размещенную в приложении ASP NET, эта служба данных предлагает доступ к базе данных SQL Server.

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

Я создал логин в SQL Server для NT Authority\Network Service со схемой по умолчанию dbo.

(На самом деле, я создал его для NT Authority\Servicio de red, сетевая служба — «Servicio de red» на английском языке)

Я также выполнил следующее на сервере Sql:

ALTER LOGIN [NT AUTHORITY\Servicio de red] 
WITH DEFAULT_DATABASE=[MiniNorthwind]; 
GO
EXEC sp_addrolemember 'db_datareader', 'NT AUTHORITY\Servicio de red'
GO
EXEC sp_addrolemember 'db_datawriter', 'NT AUTHORITY\Servicio de red'
GO 

Но когда я запускаю приложение, я получаю следующую ошибку>

введите здесь описание изображения

Ошибка возникает, когда приложение пытается перебрать таблицу (строка 48):

var customerOrders = new DataServiceCollection<Order>(ordersQuery);

Что бы это могло быть?

Рафаэль


person Rafael    schedule 13.02.2014    source источник


Ответы (1)


Вы должны установить UseVerboseErrors из < объект href="http://msdn.microsoft.com/en-us/library/system.data.services.dataserviceconfiguration.aspx" rel="nofollow">DataServiceConfiguration, переданный в InitializeService в классе обслуживания на true.

    public static void InitializeService(DataServiceConfiguration config)
    {
        // Don't let this go into prod
        config.UseVerboseErrors = true;
    }

После этого вы должны получить более полезное сообщение, чем «Произошла ошибка при обработке этого запроса».

Примечание. Я всегда путаю их, поэтому вам может понадобиться использовать ServiceBehavior для установки атрибута IncludeExceptionDetailInFaults тоже верно. Вы назначаете этот атрибут своему классу обслуживания.

[ServiceBehavior(IncludeExceptionDetailInFaults=true)]
public class FooService : DataService<FooServiceContext>
person tne    schedule 13.02.2014