vs2012.net WebService简单的创建、使用、验证、发布后更改引用

工作中使用到较多的webservice,学习了一段时间,在这里总结一下在vs中使用webservice的过程和理解。

一创建(服务器端)

在vs中穿件webservice是比较简单的。下面记录一下步骤。

步骤1:新建一个web项目,注意不能是类库。

步骤2:在新建的web项目上,添加新项–web服务;

自动生成的代码如下: /// <summary>/// WebService1 的摘要说明/// </summary>[WebService(Namespace = "")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.ComponentModel.ToolboxItem(false)]// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。// [System.Web.Script.Services.ScriptService]public class WebService1 : System.Web.Services.WebService{[WebMethod]public string HelloWorld(){return "Hello World";}}

步骤3: 编写webservice服务代码;

步骤4:发布一下编写好的代码,运行后的地址就是当前webservice的地址咯;

Over!

二调用(客户端)

直接上过程:

步骤1:在要添加webservice的项目上,右键引用–添加服务引用;

步骤2:注意这里有两种方式来添加webservice引用,一种是web reference(web引用),另一种叫:service reference(服务引用);在添加的时候注意一下添加的是哪个,这个不大好描述;直接上图咯。下图表示服务引用↓(命名空间请自定义,就是代理类的命名空间):

如果点击上图的"高级"按钮,那么将会添加web引用↓(ps:根据下图的说明,web reference是net2.0版本的的引用方式,为了兼容性才保留下来;):

步骤3:添加完引用,并设置自定义的命名空间后,vs2012会使用工具自动根据URL去读取wsdl文件,然后生成代理类,你就可以用代理类实例化对象,然后接续工作咯····

Over!

三验证调用者身份(webservice的登录)

使用webservice的验证规则大体有这么几种:验证调用者Ip地址、利用soap头验证调用者的帐号密码、利用ssl加密验证;这里要说的是利用soap header进行验证的方法。

步骤一:在webservice服务中添加一个类(这个类作为传递soap头帐号密码的载体;继承自抽象类:System.Web.Services.Protocols.SoapHeader)。代码如下namespace PointStoreWebService{/// <summary>/// 这个代码网上一大片,可以根据需要自己修改/// </summary>public class MySoapHeader:System.Web.Services.Protocols.SoapHeader{/// <summary>/// 属性咯;/// Tips:不想用自动属性,有可以快捷生成属性的方法:限定下环线开头的私有成员,然后Ctrl+R+E,vs2012会自动构造出属性咯/// </summary>private string _UserId = string.Empty;public string UserId{get { return _UserId; }set { _UserId = value; }}private string _PassWord = string.Empty;public string PassWord{get { return _PassWord; }set { _PassWord = value; }}/// <summary>/// 无参构造咯/// </summary>public MySoapHeader(){}/// <summary>/// 有参构造构造咯/// </summary>/// <param name="id"></param>/// <param name="pwd"></param>public MySoapHeader(string id, string pwd){Initial(id, pwd);}/// <summary>/// 初始化咯/// </summary>/// <param name="id"></param>/// <param name="pwd"></param>public void Initial(string id, string pwd){UserId = id;PassWord = pwd;}/// <summary>/// 验证咯/// </summary>/// <param name="id"></param>/// <param name="pwd"></param>/// <param name="msg"></param>/// <returns></returns>public bool IsValid(string id, string pwd,out string msg){msg = "";if (id == "admin" && pwd == "admin"){return true;}else{msg = "log error!";return false;}}/// <summary>/// 重载咯/// </summary>/// <param name="msg"></param>/// <returns></returns>public bool IsValid(out string msg){return IsValid(_UserId, _PassWord, out msg);}}}步骤二:在webservice服务类中添加上面类型的成员;

public MySoapHeader header = new MySoapHeader();

步骤三:在需要进行验证的方法上添加属性:(这一步不要忘记,否则在调用的时候是 点 不出来MySoapHeader类的) [SoapHeader("header")]

没有什么可留恋,只有抑制不住的梦想,没有什么可凭仗,

vs2012.net WebService简单的创建、使用、验证、发布后更改引用

相关文章:

你感兴趣的文章:

标签云: