亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

會話狀態ASP.Net Web 服務怎么使用

發布時間:2020-07-14 10:40:49 來源:億速云 閱讀:121 作者:Leah 欄目:編程語言

本篇文章為大家展示了會話狀態ASP.Net Web 服務怎么使用,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在web服務中要用到ASP.NET中的會話對象,有2件事情需要做。

  1.WebService 類需要繼承System.Web.Services.WebService類

  2.WebMethod中的EnableSession屬性值應該設置為true

會話狀態ASP.Net Web 服務怎么使用

  來看我們CalculatorWebService類,我們可以看到,它已經繼承System.Web.Services.WebService類。但是,我們需要EnableSession屬性值設置為true。

  本文中,我們將試試在使用一個如下所示的GridView中的會話對象來展示最近的計算結果.

會話狀態ASP.Net Web 服務怎么使用

  為了達成這個目的,首先要想下面這樣,修改CalculatorWebService類的Add方法.

[WebMethod(EnableSession = true)]
        public int Add(int firstNumber, int secondNumber)
        {
            List<string> calculations;

            if (Session["CALCULATIONS"] == null)
            {
                calculations = new List<string>();
            }
            else
            {
                calculations = (List<string>)Session["CALCULATIONS"];
            }
            
            string strTransaction = firstNumber.ToString() + " + " 
                + secondNumber.ToString() 
                + " = " + (firstNumber + secondNumber).ToString();
            calculations.Add(strTransaction);
            Session["CALCULATIONS"] = calculations;

            return firstNumber + secondNumber;
        }

會話狀態ASP.Net Web 服務怎么使用

  然后再引入另外一個公共方法來返回所有的計算結果. 要使用WebMethod特性來修飾這個方法,并且將EnableSession屬性設置為true.

[WebMethod(EnableSession = true)]
        public List<string> GetCalculations()
        {
            if (Session["CALCULATIONS"] == null)
            {
                List<string> calculations = new List<string>();
                calculations.Add("You have not performed any calculations");
                return calculations;
            }
            else
            {
                return (List<string>)Session["CALCULATIONS"];
            }
        }

會話狀態ASP.Net Web 服務怎么使用

  現在就可以構建我們的解決方案了,并能在瀏覽器中查看到我們的Web服務.

會話狀態ASP.Net Web 服務怎么使用

  Web服務會列出兩個方法——Add和GetCalculations.

會話狀態ASP.Net Web 服務怎么使用

  點擊Add方法。讓我們輸入兩個數字,比如20和30,然后點擊Invoke按鈕,我們會得到50這個結果.

會話狀態ASP.Net Web 服務怎么使用

會話狀態ASP.Net Web 服務怎么使用

  讓我們來做另外一次計算,比如30和70。然后點擊Invoke按鈕,我們將會得到結果為100.

會話狀態ASP.Net Web 服務怎么使用

會話狀態ASP.Net Web 服務怎么使用

  現在讓我們回頭來測試一下我們的GetCalculation方法。然后點擊Invoke方法,現在回展示出我們之前所做的所有計算。它們會以一個字符串數組的形式返回.

會話狀態ASP.Net Web 服務怎么使用

  如此我們的Web服務就這樣按照預期運作了。現在讓我們來試試在我們的Web應用程序中使用這些方法。為此,在 Webform1.aspx 中, 讓我們往其中拽一個GridView控件進去.

<tr>
    <td>
        <asp:GridView ID="gvCalculations" runat="server">
        </asp:GridView>
    </td>
</tr>

會話狀態ASP.Net Web 服務怎么使用

  在文件修改之后的代碼之前,我們需要更新一下代理類。為此,在CalculatorService并選擇Update Service Reference.

會話狀態ASP.Net Web 服務怎么使用

  此后,在btnAdd_Click事件代碼段之中, 加入如下幾行代碼.

gvCalculations.DataSource = client.GetCalculations();
            gvCalculations.DataBind();

            gvCalculations.HeaderRow.Cells[0].Text = "Recent Calculations";

會話狀態ASP.Net Web 服務怎么使用

  構建我們的解決方案,并在瀏覽器中查看這個web窗口.

會話狀態ASP.Net Web 服務怎么使用

  讓我們繼續加入兩個數字,比如20和30. 而我們會看到雖然我們已經執行了一次計算, You have not performed any calculations 這樣的消息還是將會顯示出來.

會話狀態ASP.Net Web 服務怎么使用

  這基本上是因為web應用程序并沒有像Web服務發送相同的SessionId。為此,將web.config文件中的allowCookie設置成true.

會話狀態ASP.Net Web 服務怎么使用

  現在我們再來運行這個web窗口并添加一些數字。現在我們就可以看到它按照預期運行了.

會話狀態ASP.Net Web 服務怎么使用

  因此,這下面有幾點要深入思考:

  • 如果Web服務被修改了,客戶端應用程序的代理類就要被更新. 為此,在Service Reference夾下面的服務上點擊右鍵,并選擇Update Service Reference項.

  • 將allowCookies屬性設置成true,以便讓客戶端應用程序接受從ASMX Web服務返回的cookie,并將其復制到未來所有項Web 服務發起的請求中去. 這就確保了客戶端和Web服務之間是維護的同一個Session.

上述內容就是會話狀態ASP.Net Web 服務怎么使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长泰县| 靖边县| 栾川县| 余庆县| 临武县| 兴仁县| 郎溪县| 方城县| 阿克| 攀枝花市| 乌海市| 璧山县| 库尔勒市| 广州市| 南木林县| 潞城市| 丽水市| 米易县| 玛纳斯县| 抚远县| 沂水县| 台江县| 德令哈市| 关岭| 大庆市| 灵丘县| 嘉义县| 延庆县| 德阳市| 扬州市| 张北县| 红原县| 抚宁县| 从化市| 新闻| 资中县| 葫芦岛市| 晴隆县| 沁水县| 寻乌县| 崇州市|