Silverlight 调用自托管的wcf 报跨域异常的处理_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Silverlight 调用自托管的wcf 报跨域异常的处理

Silverlight 调用自托管的wcf 报跨域异常的处理

 2013/11/19 21:25:07  sinodzh  博客园  我要评论(0)
  • 摘要:Sileverlight很多时候需要通过wcf和后台,程序进行交互。如果iiswas托管还好,极端的遇到自托管的程序,console,windowsservice,winform,wpf等,就会出现跨域问题。网上很多解决方式。俺在以下博文基础上又总结了点。以下博文可以先学习下:http://blog.csdn.net/boyhxy/article/details/5224112http://blog.sina.com.cn/s/blog_74066ace0100vhs5.htmlhttp
  • 标签:Silverlight WCF 异常

  Sileverlight很多时候需要通过wcf和后台,程序进行交互。如果 iis was托管还好,极端的遇到自托管的程序,console,windowsservice,winform,wpf等,就会出现跨域问题。网上很多解决方式。俺在以下博文基础上又总结了点。

  以下博文可以先学习下:

    http://blog.csdn.net/boyhxy/article/details/5224112

    http://blog.sina.com.cn/s/blog_74066ace0100vhs5.html

    http://www.cnblogs.com/lxblog/archive/2012/08/02/2620393.html

    以下是个人总结

     1.此解决方案与Silverlight版本无关。

     2.可以跨进程托管Domain

     3.可以不写配置文件托管Domain和Service

     4.可以用 Stream和Message当Domain返回值

     5.不通过配置实现的自托管代码如下:

         

      --Domain--
  ServiceHost crossDomainserviceHost = new ServiceHost(typeof(DomainService));
  crossDomainserviceHost.AddServiceEndpoint(typeof(IDomainService), new WebHttpBinding()
     , "http://localhost:9090/");

  crossDomainserviceHost.Description.Endpoints[0].Behaviors.Add(new WebHttpBehavior());
  crossDomainserviceHost.Open();

  --Service--

  ServiceHost testHost = new ServiceHost(typeof(WCFService), new Uri("http://localhost:9090/WCFService/"));
  testHost.AddServiceEndpoint(typeof(IWCFService), new BasicHttpBinding()
    , "");

  ServiceMetadataBehavior bb = new ServiceMetadataBehavior();
  bb.HttpGetEnabled = true;
  bb.HttpGetUrl = new Uri("http://localhost:9090/WCFService/mex");
  testHost.Description.Behaviors.Add(bb);

  ServiceCredentials credential = new ServiceCredentials();
  testHost.Description.Behaviors.Add(credential);

  testHost.Open();

     注意:请用“http://localhost:9090/WCFService/mex”来寻找服务,目前水平有限,还不能直接通过代码实现和配置一样通过http://localhost:9090/WCFService/"来寻找服务。望大家知道的能回复答案。

 

上一篇: IOS开发---菜鸟学习之路--(二)-数据获取 下一篇: 没有下一篇了!
发表评论
用户名: 匿名