Предоставление OData через службы WCF RIA - PullRequest
0 голосов
/ 28 июня 2010

Я создал новое приложение Silverlight, поэтому у меня есть веб-проект под названием «SilverlightOnLineChess.Web» и приложение Silverlight под названием «SilverlightOnlineChess.Client». В этом решении я создал новую библиотеку классов WCF RIA Services под названием «SilverlightOnlineChess.Data», и при этом создается соответствующий веб-проект под названием «SilverlightOnlineChess.Data.Web». Я создал необходимую модель данных сущностей и классы обслуживания домена в проекте SilverlightOnlineChess.Data.Web и убедился, что проверил «Выставлять конечную точку OData».

Все отлично работает и модно для просмотра данных через приложение. Однако, если я попытаюсь нажать на ссылку, чтобы увидеть, что OData возвращает, как в: "http://localhost:49771/SilverlightOnlineChess-Data-Web-OnlineChessService.svc/OData/" он не знает, что это за URL ».

Так что теперь, если я введу URL как в:

"http://localhost:49771/SilverlightOnlineChess-Web-OnlineChessService.svc/OData/", возвращает метаданные.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

Чтобы предоставить конечную точку OData, вам необходимо убедиться, что в вашем веб-файле есть следующее:

<system.serviceModel>
    <domainServices>
      <endpoints>
        <add name="OData" type="System.ServiceModel.DomainServices.Hosting.ODataEndpointFactory, System.ServiceModel.DomainServices.Hosting.OData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </endpoints>
    </domainServices>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />    
  </system.serviceModel>

Также необходимо убедиться, что вы ссылаетесь на следующие библиотеки DLL:

System.ServiceModel.DomainServices.Hosting.OData C: \ Program Files \ Microsoft SDK \ RIA Services \ v1.0 \ Библиотеки \ Server \ System.ServiceModel.DomainServices.Hosting.OData.dll

Вы можете убедиться, что ищете правильный URL-адрес для своей службы OData, заглянув в свой проект на стороне клиента с выбранным параметром Показать все файлы.Перейдите в Generated_Code \ ProjectName.Web.g.cs.Сделайте поиск для Service.svc.Это будет корневой URI вашей службы OData.Если вы поместите службу домена в папку «Служба», это будет Service / YourServiceName.svc / OData /.

0 голосов
/ 14 апреля 2011

URL-адрес службы отображается следующим образом:

Пространство имен + имя_папки для службы домена, точки заменены на тире, за которыми следует .svc / OData /.

После этого необходимо предоставить доступзапросы к OData, добавив

[Query(IsDefault = true)]

над запросами, которые вы хотите выставить.

...