一、环境
我的开发环境是xp的sp3,这个对于asp.net的要求是v2.0.50727
如果不是的话会报错,可以到本地的
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
运行即可。如果自己的已经安装过的就可以跳过,否则在webservic的调试中会报一下错:
名称以无效字符开头。处理资源 'http://localhost/ws/Service.asmx' 时出错。第 1 行,位置: 2
其次,需要安装IIS,我测试的版本是iis5.1, 本来装了iis6 但是用不了,所以版本也很重用,本人在次耗费了部分心血。如果不清楚版本可以看看百科里的描述以作决定的参考:
二、程序
这个过程总共建立2个独立的项目:一个webservice 项目,一个调用。
1 建立和部署webservice 项目:
用vs2008新建webservicesT :注意是ASP.NET Web 服务应用程序
之后系统会自动生成一个类似于helloworld的一个简单例子:
打开之后,可以看到
至此最简单的webservice就建立好了。我们不需要做任何事情,就用他来测试。
接着需要对整个工程“生成”和发布。
生成只要右键点击项目选择“生成”即可。
发布也一样,如下截图。
把发布的文件拷到iis工作路径中,并把这个文件夹“web共享”。
在资源管理器中:
web
共享:
在iis中查看,我建的文件名为sv:
最后来查看一下是不是部署成功,可以在ie地址栏中输入相关的url:
我涉及的url http://localhost/sv/Service1.asmx
成功的话可以看到下面的截图
然后点击“HelloWorld”链接:
然后点击“HelloWorld”链接,就可以最终的页面显示的xml内容:
这样表示整个
webservice的建立和部署是成功的。
2 接下来建立对webservice的调用调试。
我是建立了一个web应用项目来调用测试的。
步骤跟建立webservice项目类似,
注意选择好类型如图:
其次,最重要的一步就是引用webservice ,
项目右键选择“添加web引用”,可以看到下图:
填入之前建立的webservice 对应的url ,此处是
点击前往即可:
然后把往“Web引用名”中填入一个名字,我填的是kiss,这个名字比较重要,因为下面的步骤中要使用他,当然你可以任意,但请记住。
然后在后台中写入调用的方法页面也加入触发事件:
后台代码:
using System; 2 3 using System.Collections; 4 5 using System.Configuration; 6 7 using System.Data; 8 9 using System.Linq;10 11 using System.Web;12 13 using System.Web.Security;14 15 using System.Web.UI;16 17 using System.Web.UI.HtmlControls;18 19 using System.Web.UI.WebControls;20 21 using System.Web.UI.WebControls.WebParts;22 23 using System.Xml.Linq; 24 25 26 27 namespace wbcall28 29 {30 31 public partial class _Default : System.Web.UI.Page32 33 {34 35 protected void Page_Load(object sender, EventArgs e)36 37 { }38 39 public string GetString()40 41 { kiss.Service1 n = new kiss.Service1();42 43 string ss = n.HelloWorld();44 45 return ss;46 47 }48 49 }50 51 }
前台代码:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="wbcall._Default" %> 2 3 4 5 6 7 8 9 10 11 12 1346 47 48 49无标题页 14 15 28 29 30 31 32 33
两个的截图分别如下:
然后把此项目“生成”、“发布”到iis上,这个过程跟 webservice 一样,不再多说。
假如已经完成,接下来可以做测试了。
很简单,在浏览器的地址栏中输入:
可以看到
点击按钮“button”
系统会有这么一个提示,提示的内容就是之前在
webservice中的写的,可以看一下两者是一致的,都输出"HelloWorld"。
整个过程就结束了。当然调用的形式有多种,这里我只用了这个最简单的,其余的大家可以一起研究。
这个webservice的建立和调用测试我都是在本机上,如果有必要可以在分布式环境上来测试。
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="wbcall._Default" %> 2