2013-01-22 3 views
1

WCF RIA 서비스에 JSON 끝점을 추가하려고합니다.<domainService> 태그가 Silverlight 5 및 RIA Services에서 여전히 작동합니까?

많은 튜토리얼을 읽었으며 silverlight.net에서 비디오를 시청했습니다.

어디서나이 항목에 대해 알아보고 web.config에서 domainService 태그를 사용한다고합니다.

하나 개의 코드 예제는 다음과 같습니다

  1. 비주얼 스튜디오 2010에서 domainService 태그 파란색 밑줄 힌트로,이 작동되지 않고

    <system.serviceModel> 
    <domainServices> 
        <endpoints> 
        <add name="JSON" type="Microsoft.ServiceModel.DomainServices.Hosting.JsonEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
        </endpoints> 
    </domainServices> 
    <system.serviceModel> 
    

    두 가지 문제가 있습니다 이것은 예기치 않은 태그라는 것입니다.

  2. IIS에서 domainService 태그가 알 수없는 요소 오류를 생성하고 있습니다.

    -Microsoft.ServiceModel.DomainServices.Tools

    을 -Microsoft.ServiceModel.DomainServices.Hosting : 중에서도

, 내 웹 프로젝트에서 다음 DLL을 참조한 -Microsoft.ServiceModel.DomainServices.LinqToSql

-System.ServiceModel.DomainServices.EntityFramework

-System.ServiceModel.DomainServices.Hosting

나는 또한 WCF RIA를 -System.ServiceModel.DomainServices.Server

-System.ServiceModel.DomainServices.Hosting.OData

서비스 V1.0 SP2가 설치되었습니다.

정말 어떻게 해결해야할지 모르겠다. 도움이 필요해. 나는 봤 거든 지나치게 수색했다.

감사합니다.

이 경우 해결됩니다. 제프의 ​​대답에 대한 제 의견을 읽어주십시오. 이 문제에 대한 추가 정보를 찾을 수 있습니다.

답변

2

JSON 끝점은 제품 자체가 아니라 WCF RIA Services Toolkit의 일부입니다. 여기 툴킷 MSI를 얻을 수 있습니다 : 이 http://nuget.org/packages/RIAServices.Endpoints

여기에 사용할 수있는 NuGet 패키지에 대한 좀 더 정보입니다 : http://www.microsoft.com/en-us/download/details.aspx?id=26939

그러나, 나는이 RIAServices.Endpoints 패키지를 사용하는 대신 NuGet을 통해에서 JSON 엔드 포인트를 잡아 당겨 추천 : http://jeffhandley.com/archive/2012/12/10/RIA-Services-NuGet-Package-Updates-ndash-Including-Support-for-EntityFramework.aspx

+1

답장을 보내 주셔서 감사합니다. 처음에는 NuGet Endpoint 패키지를 설치했습니다. 이 설치는 엔드 포인트 json과 soap이있는 domainService 태그를 web.config에 추가했습니다. 불행히도 도움이되지 않았습니다. domainService 태그는 여전히 VS 2010에서 제외되지 않았습니다. NuGet을 사용하여 완전한 WCF RIA Service Toolkit을 설치하기로 결정했습니다. 이것은 도움이되었습니다. 내 SL RIA 서비스에는 이제 바이너리 및 JSON 끝 점이 있습니다. 브라우저 또는 SL 클라이언트를 사용하여 easyliy을 호출 할 수 있습니다. 너는 나에게 많은 일, 수색 및 좌절감을 덜어 줬다. 이 솔루션을 이용해 주셔서 감사합니다. – Michael

+0

다른 사람들에게 힌트를 전합니다. 전에 수동으로 WCF RIA Toolkit을 설치 했었습니다. 그것은 단지 나를 위해 작동하지 않았다. 이 후 나는 Jeff가 말했듯이 NuGet을 사용하는 것이 좋습니다. – Michael

+0

그리고 마지막으로 힌트 : web.config 파일의 config 섹션에서 sectionGroup name = "system.serviceModel"이고 sectionGroup name = "System.ServiceModel"이 아니어야합니다. 대문자로 쓰면 프로젝트가 컴파일되지 않습니다. 대문자를 사용하면 VS 2010에서 domainService 태그를 컴파일하지 않습니다. NuGet 설치가 system.serviceModel을 소문자로 배치했기 때문에 지금 이것을 인식했습니다. 이 모든 후, 나는 이것이 내가 만든 유일한 실수라고 생각하지만 VS 2010은 당신에게 소문자를 사용한다고 말하지 않을 것입니다. – Michael

1

나를 위해 올바른 해결 방법은 웹에 다음을 추가하는 것입니다.config

<configuration> 
    <configSections> 
    <sectionGroup name="system.serviceModel"> 
      <section name="domainServices" type="System.ServiceModel.DomainServices.Hosting.DomainServicesSection, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowDefinition="MachineToApplication" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> ...