当前位置:  开发笔记 > 编程语言 > 正文

WCF - 更改端点地址会导致securityexception

如何解决《WCF-更改端点地址会导致securityexception》经验,为你挑选了1个好方法。

我的WCF服务使用wsHttpBinding,当客户端使用默认选项对服务进行gerenated时,客户端可以正常工作,如下所示:

RServiceClient R = new RServiceClient();

但是,在某些时候,我需要能够指定服务的位置,可能是通过更改端点地址,如下所示:

RServiceClient R = new RServiceClient();
R.Endpoint.Address = new EndpointAddress(new Uri "http://xxx.xxxx.xxx:80/RServer/RService.svc"));

但是,当我确实指定了确切的端点时,我得到一个SecurityNegotiationException:System.ServiceModel.Security.SecurityNegotiationException未处理Message ="调用者未被服务验证." 来源= "mscorlib程序" ....

WCF服务在IIS上运行,并在IIS管理员下启用了匿名访问.此外,当客户端从与管理员帐户下的服务相同的计算机运行时,会发生此错误 - 我还没有到达通过网络运行它的可怕部分!

有任何想法吗?



1> Mike L..:

默认情况下,wsHttpBinding使用Windows身份验证.我不确定IIS中的托管如何影响该场景.

如果您不想打开安全性,可以添加一个安全元素,并将模式元素设置为"无"到两端的配置以关闭默认设置.

我认为这可能有用 - 我已经为wsHttpBinding添加了部分,并将服务的bindingConfiguration设置为指向新添加的绑定属性:


    
      
        
          
            
            
          
        
      
    
    
        
             
                
                    
                
            
            
        
    
    
        
            
            
                
                
                
            
        
    

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有