none
只有uri地址,如何动态生成wcf客户端代理,调用wcf服务? RRS feed

  • 问题

  • 如题!

    具体需求是这样的,要做一个客户端,客户端需要调用wcf的服务,但是在分布式情况下,具体要调用哪台服务器的wcf服务,需要通过客户端的设置决定!

    请问大侠们,我该怎么做?

    2010年7月24日 2:46

答案

  • 你在浏览器打开一个wcf服务的时候 上面就有一个url  xxxx.svc?wsdl

     

    把这个页面打开  就是一些xml  也就是对于这个服务的xml描述

     

    把这个文件另存为  。wsdl 文件就可以作为约定凭据了

     

    你在添加服务引用的时候  不光可以输入http url  也可以把硬盘上的 wsdl地址输入进去 

     

    下面的就不说了  你懂的 嘿嘿


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    • 已标记为答案 book-cold 2010年7月24日 5:28
    2010年7月24日 3:13

全部回复

  • 先拿到服务的  wsdl 对硬盘上的wsdl做引用 

    调用的时候先改 client的url


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月24日 2:53
  • 能否详细一点,谢谢!wcf我是现学现用~实在没啥基础!

    1。如何拿到服务wsdl

    2。怎么对硬盘上的wsdl做引用?

    有什么推荐的文章,我认真看看!谢谢了!

    2010年7月24日 2:55
  • 你在浏览器打开一个wcf服务的时候 上面就有一个url  xxxx.svc?wsdl

     

    把这个页面打开  就是一些xml  也就是对于这个服务的xml描述

     

    把这个文件另存为  。wsdl 文件就可以作为约定凭据了

     

    你在添加服务引用的时候  不光可以输入http url  也可以把硬盘上的 wsdl地址输入进去 

     

    下面的就不说了  你懂的 嘿嘿


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    • 已标记为答案 book-cold 2010年7月24日 5:28
    2010年7月24日 3:13
  • 这貌似是个小技巧!谢谢!

    但是,“添加服务引用”,不是在开发的时候从vs中添加的吗?

    程序在运行的时候如何添加服务引用?

    谢谢!

    2010年7月24日 3:23
  • 那个服务引用确实要在开发的时候添加

     

    你的服务契约也是动态变化的么?


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月24日 4:24
  • 不是!服务契约是不变的,只是取的地方不定!
    2010年7月24日 4:26
  • 所以说啊  那个wsdl 就是在开发的时候参考的契约    跟据wsdl生成client代码啊


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月24日 4:31
  • 我好像明白了!先用wsdl作为参考契约,开发代码!运行的时候改变契约的url地址!

    是这么吗?

    2010年7月24日 4:42
  • 没错!  :P


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月24日 4:43
  • 谢谢!!
    2010年7月24日 5:28