• SoapHeader


    一.SOAPHEADER

    01.using System;  
    02.using System.Data;  
    03.using System.Configuration;  
    04.using System.Web;  
    05.using System.Web.Security;  
    06.using System.Web.UI;  
    07.using System.Web.UI.HtmlControls;  
    08.using System.Web.UI.WebControls;  
    09.using System.Web.UI.WebControls.WebParts;  
    10.  
    11./// <summary>   
    12.///MySoapHeader 的摘要说明   
    13./// </summary>   
    14.public class MySoapHeader:System .Web .Services .Protocols .SoapHeader   
    15.{  
    16.    private string _uname = string.Empty;//webservice访问用户名   
    17.  
    18.    public string Uname  
    19.    {  
    20.        get { return _uname; }  
    21.        set { _uname = value; }  
    22.    }  
    23.    private string _password = string.Empty;//webservice访问密码   
    24.  
    25.    public string Password  
    26.    {  
    27.        get { return _password; }  
    28.        set { _password = value; }  
    29.    }  
    30.  
    31.  
    32.    public MySoapHeader()  
    33.    {  
    34.     //   
    35.     //TODO: 在此处添加构造函数逻辑   
    36.     //   
    37.    }  
    38.    public MySoapHeader(string uname, string upass)  
    39.    {  
    40.        init(uname, upass);  
    41.    }  
    42.    private void init(string uname, string upass)  
    43.    {  
    44.        this._password = upass;  
    45.        this._uname = uname;  
    46.    }  
    47.    //验证用户是否有权访问内部接口   
    48.    private bool isValid(string uname, string upass, out string msg)  
    49.    {  
    50.        msg = "";  
    51.        if (uname == "admin" && upass =="admin")  
    52.        {  
    53.            return true;  
    54.        }  
    55.        else {  
    56.            msg = "对不起!您无权调用此WebService!";  
    57.            return false;  
    58.        }  
    59.    }  
    60.    //验证用户是否有权访问外部接口   
    61.    public bool isValid(out string msg)  
    62.    {  
    63.        return isValid(_uname, _password,out msg);  
    64.    }  
    65.}
    .
    

     二.WEBSERVICE

    01.using System;  
    02.using System.Collections;  
    03.using System.Linq;  
    04.using System.Web;  
    05.using System.Web.Services;  
    06.using System.Web.Services.Protocols;  
    07.using System.Xml.Linq;  
    08.  
    09./// <summary>   
    10.///test 的摘要说明   
    11./// </summary>   
    12.[WebService(Namespace = "http://tempuri.org/")]  
    13.[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
    14.//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。    
    15.// [System.Web.Script.Services.ScriptService]   
    16.public class test : System.Web.Services.WebService {  
    17.  
    18.    public test () {  
    19.  
    20.        //如果使用设计的组件,请取消注释以下行    
    21.        //InitializeComponent();    
    22.    }  
    23.    public MySoapHeader myheader = new MySoapHeader();  
    24.    [WebMethod]  
    25.    public string HelloWorld() {//普通WebService,无需验证   
    26.        return "Hello World";  
    27.    }  
    28.    [SoapHeader("myheader")]//加入此头部的WebService需要验证,不加则为普通WebService无需验证   
    29.  
    30.    [WebMethod(Description = "根据产品编号查询产品的价格", EnableSession = true)]  
    31.  
    32.    public string GetProductPrice2(string ProductId)  
    33.    {  
    34.  
    35.        string msg = "";  
    36.  
    37.        //验证是否有权访问   
    38.  
    39.        if (!myheader.isValid(out  msg))  
    40.        {  
    41.  
    42.            return -1;//返回错误信息   
    43.  
    44.        }  
    45.  
    46.        return ProductId;  
    47.    }  
    48. }
    .
    

     三.WEB

    01.using System;  
    02.using System.Configuration;  
    03.using System.Data;  
    04.using System.Web;  
    05.using System.Web.Security;  
    06.using System.Web.UI;  
    07.using System.Web.UI.HtmlControls;  
    08.using System.Web.UI.WebControls;  
    09.using System.Web.UI.WebControls.WebParts;  
    10.public partial class _Default : System.Web.UI.Page   
    11.{  
    12.    protected void Page_Load(object sender, EventArgs e)  
    13.    {  
    14.        myservice.test te = new abc.test();  
    15.        myservice.MySoapHeader myhead = new MySoapHeader();  
    16.        myhead.Uname = "admin";//输入WebService访问用户名   
    17.        myhead.Password = "admin";//输入WebService访问密码   
    18.        te.MySoapHeaderValue = myhead;//   
    19.        string test = te.GetProductPrice2("ok!");  
    20.      Response.Write(aa);//用户名、密码输入正确则输出ok 否则输出 错误msg   
    21.    }  
    22.}
    .
    
  • 相关阅读:
    codeforces 540 C Ice Cave【BFS】
    UVa 140 Bandwidth【枚举排列】
    UVa 1600 Patrol Robot【BFS】
    UVa 1599 Ideal Path【BFS】
    HDU 4324 Triangle LOVE【拓扑排序】
    HDU 2647 Reward【拓扑排序】
    UVa 10305 Ordering Tasks【拓扑排序】
    codeforces 501 B Misha and Changing Handles 【map】
    codeforces 510 C Fox And Names【拓扑排序】
    落谷_2740/poj_1273/USACO_4.2/网络流
  • 原文地址:https://www.cnblogs.com/Hawk-Hong/p/4293652.html
Copyright © 2020-2023  润新知