Webservice開發、引用


一、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需要的賬戶和密碼 

 身份驗證設置成windows身份驗證

 

調用的時候就需要賬號密碼驗證,否則會提示沒有授權, 添加如下代碼

       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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM