王吉元-NWPU

导航

 

首先描述一下先决条件:IIS可用,VS2005可用。

好,现在开始:

首先写一个WebService并把它发布到IIS上:

    在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1”。打开VS2005新建一个网站---》空网站---》在“位置”上选择本地IIS,选择新建好的“虚拟目录”-“webservice1”.确定。定义一些要发布的webservice,这里我们就采用自动生成的helloworld这个方法,点击运行。成功。

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;


/// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService {

    public WebService () {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }
    
}

 

 

然后写一个网站,调用这个已经在IIS 上发布的WebService.首先在IIS上的默认网站下新建一个“虚拟目录”,取名为“invokeWebService”。新建一个ASP.NET网站,拖连个控件,一个Button,一个TextBox,双击Button添加响应函数。在添加响应函数之前,需要添加web引用,将上个发布好的webservice1的网址拷过来(http://10.13.30.160/webservice1/),右键点击项目,选择添加web引用,将网址粘贴,go.发现一个webservice.记住这个服务的名称(本例中为:WebReference)点击确定。现在可以添加Button的响应函数了。

  protected void Button1_Click(object sender, EventArgs e)
    {
        WebReference.WebService web=new WebReference.WebService();
        TextBox1.Text = web.HelloWorld();

    }

最后,运行这个网站,添加进了web.config。在浏览器上输入:http://10.13.30.160/invokeWebService/就好了,点击Button,Text会显示“Hello,World”.

 

很关键的一点:起初http://10.13.30.160/webservice1/显示的是:

 

但是这不是我们想要的结果,在IIS中查看,原来应该显示WebService.asmx

解决办法:

在IIS中右键单击webservice1,选择属性--》文档中添加“WebService.asmx”并且将其优先级提高:

搞定。

posted on 2013-11-19 17:17  王吉元  阅读(2326)  评论(0编辑  收藏  举报