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

wcf服务绑定中的相对URL

如何解决《wcf服务绑定中的相对URL》经验,为你挑选了1个好方法。

我有一个silverlight控件,它引用了支持silverlight的wcf服务.

当我在silverlight控件中添加对服务的引用时,它会将以下内容添加到我的clientconfig文件中:


    
        
            
                
                    
                
            
        
        
            
        
    

如何在端点地址中指定相对URL而不是绝对URL?无论我在何处部署Web应用程序而无需编辑clientconfig文件,我希望它能够正常工作,因为silverlight组件和Web应用程序将始终一起部署.我以为我只能指定"DataAccess.svc",但它似乎并不喜欢.



1> Jeremy..:

我的解决方案

我没有使用devault构造函数(使用ServiceReferences.ClientConfig文件)来实例化我的代理类,而是使用以下代码:

svcMyService.DataAccessClient svcProxy_m;

System.ServiceModel.BasicHttpBinding binding = new System.ServiceModel.BasicHttpBinding();

/*
Create an end point, build a an absolute uri reference by specifing the host address and a relative referece to the service page.
Application.Current.Host.Source will be something like Http://server/app/ClientBin/SilverlightApp.xap"

Specifying Uri(Application.Current.Host.Source, "../DataAccess.svc")); will return "Http://server/app/DataAccess.svc" */ System.ServiceModel.EndpointAddress address = new System.ServiceModel.EndpointAddress(new Uri(Application.Current.Host.Source, "../DataAccess.svc")); svcProxy_m = new svcMyService.DataAccessClient(binding, address);

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