none
怎样使用vs05为引用的web服务生成组件 RRS feed

  • 问题

  •  

    怎样使用vs05为引用的web服务生成组件

     

    另外,web服务组件的web服务url可以又用户在使用时自己设定么?

    2008年11月13日 8:30

答案

全部回复

  • 完全可以的。

     

    你可以新建立一个类库,然后添加Web引用,VS会为你自动创建代理,在使用这个代理的时候就可以指定Url。

     

    比如:

     

    Code Snippet

    Service1 proxy = new Service1();

    proxy.Url = "http://localhost:8888/service.asmx";

     

     

     

    2008年11月13日 9:00
    版主
  •  

    怎样使用vs05为引用的web服务生成组件 是不是有简单快捷的方法

    另外,我看到有的例子url是这样,service.asmx?WDSL,加?WDSL有什么作用啊?

    2008年11月13日 9:22
  • 我不明白你说的“生成组件”具体是怎么一个过程。实际上,添加了Web引用之后,VS就自动通过wsdl生成了一个代理,这个代理也可以看作是组件,在客户端我们就直接操作这些代理,然后这些代理去调用真正的Service。

     

    WSDL是 Web Service Description Language 的缩写,它用来描述这个服务的基本信息,比如有哪些方法,方法需要哪些参数,返回什么类型,参数又是什么类型等等。VS就是通过这个WSDL来生成代理的。另外其他语言,比如JAVA也可以通过这个WSDL来生成JAVA相关的代理,这样就实现了互操作。

    2008年11月13日 9:26
    版主
  •  Shiny Zhu 写:

    我不明白你说的“生成组件”具体是怎么一个过程。实际上,添加了Web引用之后,VS就自动通过wsdl生成了一个代理,这个代理也可以看作是组件,在客户端我们就直接操作这些代理,然后这些代理去调用真正的Service。

     

    WSDL是 Web Service Description Language 的缩写,它用来描述这个服务的基本信息,比如有哪些方法,方法需要哪些参数,返回什么类型,参数又是什么类型等等。VS就是通过这个WSDL来生成代理的。另外其他语言,比如JAVA也可以通过这个WSDL来生成JAVA相关的代理,这样就实现了互操作。

     

    我说的生成组件是生成一个可以在工具箱向窗体拖放的组件,这个是否能自动生成

     

    我知道wsdl的含义,只是发现在写web服务地址时,有的时候写成:

     

    http://localhost:8888/service.asmx

     

    有的时候写成http://localhost:8888/service.asmx?WSDL

     

    不知有什么区别

    2008年11月13日 23:51
  • VS还不能生成支持设计的组件,要做这样的组件的话,是需要完成很多工作的。

     

    如果你要做WEB服务器控件的话,请参考这篇文章:
     
    如果是Win Form请参考这篇:
    2008年11月14日 1:44
    版主
  •  Shiny Zhu 写:

    VS还不能生成支持设计的组件,要做这样的组件的话,是需要完成很多工作的。

     

    如果你要做WEB服务器控件的话,请参考这篇文章:
     
    如果是Win Form请参考这篇:

     

    看windows forms 2.0程序设计(Chris Sells著)
    第687页有一句:"通过使用vs05为所引用的Web服务生成的组件,可以获得更加具有设计器驱动体验的功能"

    然后看组件的属性窗口,soapVertion,Timeout等属性很多,似乎不是手动编写的啊

    2008年12月3日 8:05