【问题标题】:Problems exposing a RIA services as SOAP, Json, etc将 RIA 服务公开为 SOAP、Json 等的问题
【发布时间】:2011-02-25 16:40:43
【问题描述】:

我正在尝试使用 SOAP 和 JSON 公开现有的 RIA 服务。

在 web.config 的 serviceModel 部分,我放了:

 <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" />
    <add name="Soap" type="Microsoft.ServiceModel.DomainServices.Hosting.SoapXmlEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add name="Json" type="Microsoft.ServiceModel.DomainServices.Hosting.JsonEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </endpoints>
</domainServices>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

在 MyDomainService 中有:

    [Query(IsDefault=true)]
    public IEnumerable<UserItem> GetUsers()
    {
        return this.ObjectContext.Users;
    }

我尝试了以下网址:

http://10.0.0.191:27070/Manager-Web-MyDomainService.svc/GetUsers

http://10.0.0.191:27070/Manager-Web-MyDomainService.svc/Soap/GetUsers

http://10.0.0.191:27070/Manager-Web-MyDomainService.svc/Json/GetUsers

http://10.0.0.191:27070/Manager-Web-MyDomainService.svc/OData/GetUsers

我得到的只是空白页。

我已启用跟踪,并在日志中看到警告“未找到配置评估上下文”。

谁能帮我解决这个问题?

提前致谢, 干杯, 詹卢卡。

【问题讨论】:

    标签: c# wcf json soap ria


    【解决方案1】:

    好的,我几乎把所有东西都整理好了。我的配置是正确的。问题在别处。让我分享一下我的发现:

    首先,我发现 OData 在 URL 的末尾需要一个“/”。另外,我错误地认为有必要在方法名称的末尾调用服务 URL。类似于:http:///oData/。事实证明,通过调用 http:///oData/ 我得到了所有预期的数据。

    相反,Json 不想要尾随的 '/'。正确的 URL 类似于:http:///Json/。这次有必要说明方法。我也开始更好地理解 Query、Invoke 等属性的含义。仅当具有属性 HasSideEffect=false 时,INVOKE 修饰的方法才会公开为 JSON。

    我仍然无法通过 SOAP 公开相同的方法。如果有人想贡献并帮助我,请随时在此处添加更多信息。得到更多结果后,我会尽快发布更多信息。

    干杯, 詹卢卡。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多