zoukankan      html  css  js  c++  java
  • 转:WCF跨域 这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP

    尝试向 URI“http://localhost:8001/AccountService.svc”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。

    解决方法:

      一、在WCF项目根目录下添加clientaccesspolicy.xml文件


    <?xml version="1.0" encoding="utf-8" ?>
    <access-policy>
      
    <cross-domain-access>
        
    <policy>
          
    <allow-from http-request-headers="*">
            
    <domain uri="*"/>
          
    </allow-from>
          
    <grant-to>
            
    <resource path="/" include-subpaths="true"/>
          
    </grant-to>
        
    </policy>
      
    </cross-domain-access>
    </access-policy>

    二、在silverlight项目中添加一个中介类ServerManager.cs


    public class ServerManager
         {
            
    private static ServiceWcfClient servicePicture = new ServiceWcfClient();

            
    internal static ServiceWcfClient GetPox()
             {
                
    if (servicePicture.State == System.ServiceModel.CommunicationState.Created)
                 {
                     servicePicture.Endpoint.Address
    = new System.ServiceModel.EndpointAddress("http://localhost:52207/ServiceWcf.svc");
                    
    return servicePicture;
                 }
                
    else
                 {
                    
    return servicePicture;
                 }
             }
         }

    三、实例化实体类的时候一般是这样:ServiceWcfClient clientWcf = new ServiceWcfClient();

    换成:ServiceWcfClient clientWcf = ServerManager.GetPox();

    注:方法一就OK了,经过测试。

    SilverLight跨域访问及其常用的几种解决方法

  • 相关阅读:
    archlinux .bash_history
    Ubuntu环境下挂载新硬盘
    软碟通 UltraISO U启替代品 Win32DiskImager 无设备 无盘符 无u盘 无优盘 解决方案 之diskpart
    delphi Integer overflow
    MSBuild Tools offline
    delphi synedit免费的拼写检查器dll
    git 自定义命令行
    lua编译
    gcc ar
    Windows Subsystem for Linux (WSL)挂载移动硬盘U盘 卸载 c d 盘
  • 原文地址:https://www.cnblogs.com/suzh/p/2076445.html
Copyright © 2011-2022 走看看