someThink

1.首先VS2005中新建一个WEB服务项目 
打开“文件”->“新建”->“网站”,在对话框中选择“ASP.NET Web服务”, 
保存方式下拉框选“文件系统”(如果选HTTP会有一些权限的限制) 
VS2005会自动生成一个Service.cs文件,包含如下代码: 

using System; 

using System.Web; 

using System.Web.Services; 

using System.Web.Services.Protocols; 


[WebService(Namespace = "http://tempuri.org/")] 

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 

public class Service : System.Web.Services.WebService 



  public Service () { 


  //Uncomment the following line if using designed components 

  //InitializeComponent(); 

  } 


  [WebMethod] 

  public string HelloWorld() { 

  return "Hello World"; 

  } 

   




2.生成网站 

“生成”->“生成网站”或直接Shift+F6 

3.发布网站 

“生成”->“发布网站”,这里会弹出一个对话框,什么也不需要修改,记下发布的目录。比如:D:\我的文档\Visual Studio 2005\Projects\WebSite1\PrecompiledWeb\WebSite1,我们需要目录下的文件。 

4.配置IIS 

在你的WEB目录下一个文件夹,比如WebService,并将第3步发布目录中的所有文件和目录拷贝到这个目录中,打开IIS,找到你的站点,在这个WebService目录上点右键,选择属性,在弹出对话框的“目录”选择项卡中点击“创建”按钮,然后确定即可。 

到这时,已经大功告成,你可以通过访问http://域名/webservice/Service.asmx(http://localhost/WebService/Service.asmx)来验证。页面会出现如下图所示内容: 
 


注意:除了需要在IIS中对服务目录创建程序外,还要注意防火墙或杀毒软件的设置,我在首次访问service.asmx文件时,杀毒软件报告w3wp.exe在系统文件夹中生成asp_code.dll等,应该允许其他创建,否则会无法访问。 

通过这样简单的方法,你可以轻松建立自己的WEB服务,在同一站点还可以有多个WEB服务。 

C#的winform中调用Web Service API 
   
在服务中我们只有一个自动生成的方法:HelloWord(),其实现如下: 

  [WebMethod] 

  public string HelloWorld() { 

  return "Hello World"; 

  } 


1.添加WEB引用 

在VS2005中新建一个Windows应用程序项目,取名TestWebService,在项目中添加一个WEB引用,可在“解决方案资源管理器”的项目名上点右键添加,在弹出对话框中的URL输入框中输入WEB服务器的路径:如http://你的域名/web服务务路径/service.asmx(http://localhost/WebService/Service.asmx),点击“前行”按钮后会搜索这个服务,并在右边报告找到的服务,并在左边显示service.asmx页面,我们在WEB引用名输入框中输入一个名字,这个将做为程序中WEB服务的命名空间名,这里我们取名MyWebService。 

2.添加按钮单击事件 

在Form中拖出一个Button按钮,双击单击事件处理方法,代码如下: 

  private void button1_Click(object sender, EventArgs e) 

  { 

  MyWebService.Service ws = new TestWebService.MyWebService.Service(); 

  MessageBox.Show(ws.HelloWorld()); 

  } 

其中mywebservice.Service ws = new testwebservice.mywebservice.Service()是实例化一个WEB服务对象,ws.HelloWorld()是调用WEB服务中的这个HelloWorld方法,其返回字符串将用MessageBox.Show()函数显示出来。 

好了,最简单的一个调用WEB服务API的WinForm例子已经完成了,编译运行,单击按钮,将会弹出对话框显示“Hello World”信息。 

重要的一点,在.net的WEB服务API中,除了一般的数据类型外,还可以返回结构和DataSet对象,有了这一点,就可以构建我们大多数的数据库应用了。 


在WINFORM中我们将添加一个按钮,添加单击事件,在事件处理函数中弹出一个对话框显示HelloWord的结果。 

你可以在这里修改自己的命名空间,加入自己的方法,但本文只是为了说明如何创建和发布,所以对Service.cs不做任何更改。



原文地址:https://www.cnblogs.com/xianqingzh/p/1596413.html