当前位置: 移动技术网 > IT编程>开发语言>.net > Webservice开发、引用

Webservice开发、引用

2018年09月13日  | 移动技术网IT编程  | 我要评论

精武堂自修软件,姜汝祥,雾临村

一、webservice开发

1、在解决方案右键添加新建项目,新建空的web应用程序

2、在新建的项目右键添加新建项选择web服务

3、这里就是webservice 里的方法,可以添加自己需要的方法(方法前需要添加[webmethod] 的特性,才可以被调用)

4、发布iis即可访问 

 5、需要身份验证的webservice

5.1 soap header身份验证

在webservice里添加如下类

public class mysoapheader : soapheader
    {
        private string strusername = string.empty;
        private string strpassword = string.empty;

        public mysoapheader() { }

        public mysoapheader(string username, string password)
        {
            this.strusername = username;
            this.strpassword = password;
        }

        #region 构造 
        /// <summary>  
        /// 用户名  
        /// </summary>  
        public string username
        {
            get { return strusername; }
            set { strusername = value; }
        }
        /// <summary>  
        /// 密码  
        /// </summary>  
        public string password
        {
            get { return strpassword; }
            set { strpassword = value; }
        }

        #endregion

        #region 检测是否正确登录
        /// <summary>  
        /// 检测是否正确登录  
        /// </summary>  
        /// <returns></returns>  
        public bool valideuser(out string  msg )
        {
            msg = "";
            if (strusername == "admin" && strpassword == "123456")   //在这里设置身份验证的账号和密码
            {
                return true;
            }
            else
            {
                msg = "您无权调用次服务,请联系管理员!";
                return false;
            }
        }

        #endregion
    }

在添加方法的时候添加如下代码

     public mysoapheader header = new mysoapheader (); ////定义用户身份验证类变量header

        [system.web.services.protocols.soapheader("header")] 
        [webmethod]     
        public string getusername(string userid)
        {
            string msg = "";
            if (!header.valideuser(out msg))   //验证
            {
                return msg;
            }
var data = new dalwbstest.uuserop().getuser(userid); if (data != null) { return data.usernamecn; } else { return "没有此人"; } }

调用的时候就需要账号密码验证,代码如下

           webreference.npomwbs webclient = new npomwbs();           
            mysoapheader head = new mysoapheader ();
            head.username = "admin";               //在webservice里设置的账号和密码
            head.password = "123456";
            webclient.mysoapheadervalue = head;

            string name = webclient.getusername(txtid.text);    //调用需要验证的方法

 

5.2 windows身份验证

 在webservice发布iis的时候设置如下,添加访问该webservice需要的账户和密码

调用的时候就需要账号密码验证,否则会提示没有授权, 添加如下代码

       webreference.npomwbs webclient = new npomwbs();
            webclient.credentials = new system.net.networkcredential("admin","123456"); //这里就是你刚填写的账号和密码

            string name = webclient.getusername(txtid.text); // 调用方法

 

二、webservice引用

 1、添加webservice引用

在项目上右键添加服务引用

 在高级里添加web引用,在弹出的框里输入你发布的webservice地址,点右侧箭头,点击添加引用,添加引用成功

 2、调用webservice

添加引用成功后就可以调用了

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网