在OOB Silverlight应用程序中使用JsonServiceClient

时间:2012-08-16 10:42:47

标签: silverlight silverlight-5.0 servicestack

运行OOB(浏览器外)时是否可以在Silverlight中使用JsonServiceClient?

我有一个后端系统,它使用ServiceStack公开了许多web服务,我也希望在系统的客户端使用ServiceStack。

我正在Silverlight 5中开发客户端。当我测试在浏览器中运行的客户端时,JsonServiceClient工作正常 - 但是当运行OOB(需求)时,它会抛出一个异常,说明" DOM /脚本桥是。禁用#&34; - 这是因为在运行OOB时您无权访问浏览器API - 但有没有解决方法?

在浏览器中工作的代码,但是转换异常OOB:

var restClient = new JsonServiceClient("http://127.0.0.1:1030");
restClient.GetAsync<AgentModelResponse>("/agents",
  r =>
  {
    r.Agents.ForEach(x => Agents.Add(x));
  },
  (r, ex) =>
  {
    throw ex;
  });

2 个答案:

答案 0 :(得分:0)

您需要使用SSL托管和访问您的Web服务,以便Web服务调用在OOB Silverlight应用程序中工作。

http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx

答案 1 :(得分:0)

我知道这是一个旧的,但我刚刚遇到同样的问题,也许它仍然可以帮助别人。 因此,可以通过将客户端的ShareCookiesWithBrowser属性设置为false来修复此问题:

restClient.ShareCookiesWithBrowser = false;