DomainOperationException при загрузке сущностей через доменную службу (WCF RIA)

У меня есть простой проект Silverlight, который просто получает набор сущностей (EF 4) в системе IIS 7.5. Вот моя веб-конфигурация:

<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="DomainServiceModule" preCondition="managedHandler" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <system.web>
    <httpModules>
      <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httpModules>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>
  <connectionStrings>
    <add name="BusinessProcessEntities" connectionString="metadata=res://*/ForecastModel.csdl|res://*/ForecastModel.ssdl|res://*/ForecastModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=usd-ctct-app-01.mydomain.net;Initial Catalog=BusinessProcess;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
</configuration>

Когда я просматриваю http://forecasting.mydomain.net/ClientBin/ForecastTool_2-Web-ForecastDomainSvc.svc?wsdl Я вижу веб-страницу службы. Скрипач не дал мне ничего, чтобы действительно продолжать. SQL Profiler не показывает запрос, попадающий на сервер БД. Как и следовало ожидать, с Cassini все работает блестяще. Вот показ всплывающего сообщения, которое я получаю для ошибки. Просто не уверен, что я сделал неправильно здесь. Я чувствую, что это должно быть проще, чем сейчас...

Диалоговое окно ошибки


person Robert Kaucher    schedule 22.02.2011    source источник
comment
Я также хотел упомянуть, что RIA, кажется, работает нормально и был установлен в режиме сервера через msiexec. Я считаю, что проблема связана с EF, как я уже упоминал, ни один запрос вообще не попадает в БД.   -  person Robert Kaucher    schedule 22.02.2011
comment
Теперь я получаю немного больше информации. Ошибка входа для пользователя "DOMAIN\SERVER-NAME$".   -  person Robert Kaucher    schedule 22.02.2011
comment
Я добавил сервер в группу AD с разрешениями на чтение/вставку в базу данных, и он работает. Однако я не хочу, чтобы это было так. Я хочу, чтобы учетные данные Windows прошли.   -  person Robert Kaucher    schedule 22.02.2011


Ответы (1)


Я добавил <identity impersonate="false" /> в web.config и использую [RequiresRole()] для ограничения доступа к методам по мере необходимости. Не знаю, почему мне было так тяжело с этим. Это в основном то, что я сделал бы в обычном WCF.

person Robert Kaucher    schedule 22.02.2011