欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET如何使用web服務(wù)的會話狀態(tài)

 更新時間:2015年11月02日 14:34:29   投稿:lijiao  
這篇文章主要介紹了ASP.NET如何使用web服務(wù)的會話狀態(tài),使用一個GridView中的會話對象來展示最近的計算結(jié)果,感興趣的小伙伴們可以參考一下

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

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

  2.WebMethod中的EnableSession屬性值應(yīng)該設(shè)置為true

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

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

  為了達成這個目的,首先要想下面這樣,修改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;
  }

  然后再引入另外一個公共方法來返回所有的計算結(jié)果. 要使用WebMethod特性來修飾這個方法,并且將EnableSession屬性設(shè)置為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"];
   }
  }


  現(xiàn)在就可以構(gòu)建我們的解決方案了,并能在瀏覽器中查看到我們的Web服務(wù).

  Web服務(wù)會列出兩個方法——Add和GetCalculations.

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

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

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

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

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

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

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

gvCalculations.DataSource = client.GetCalculations();
   gvCalculations.DataBind();
 
   gvCalculations.HeaderRow.Cells[0].Text = "Recent Calculations";

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

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

  這基本上是因為web應(yīng)用程序并沒有像Web服務(wù)發(fā)送相同的SessionId。為此,將web.config文件中的allowCookie設(shè)置成true.

  現(xiàn)在我們再來運行這個web窗口并添加一些數(shù)字?,F(xiàn)在我們就可以看到它按照預(yù)期運行了.

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

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

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

如何使用web服務(wù)的會話狀態(tài),相信通過這篇文章大家應(yīng)該有所了解了吧。

相關(guān)文章

  • gridview中實現(xiàn)radiobutton的單選示例

    gridview中實現(xiàn)radiobutton的單選示例

    radiobutton可以單選,于是想讓gridview也可以實現(xiàn),具體的思路及代碼如下,感興趣的朋友可以參考下
    2013-08-08
  • ASP.NET中利用DataList實現(xiàn)圖片無縫滾動 實例分享

    ASP.NET中利用DataList實現(xiàn)圖片無縫滾動 實例分享

    這個問題之前也困擾我,后來解決了,拿出來分享下,以后用也方便,代碼很容易看懂,不多說什么了
    2013-06-06
  • .Net 調(diào)用存儲過程取到return的返回值

    .Net 調(diào)用存儲過程取到return的返回值

    存儲過程只能返回 int 類型,如果返回一個字符串 ,將會報類型轉(zhuǎn)化錯誤,下面以示例介紹下如何取到return的值,需要的朋友可以參考下
    2014-08-08
  • 輕松解決asp.net用戶ASPNET登錄失敗問題的方法分享

    輕松解決asp.net用戶ASPNET登錄失敗問題的方法分享

    這篇文章介紹了asp.net用戶ASPNET登錄失敗問題的方法,有需要的朋友可以參考一下
    2013-11-11
  • Ajax實現(xiàn)評論中頂和踩功能的實例代碼

    Ajax實現(xiàn)評論中頂和踩功能的實例代碼

    這算是社團布置的一個假期小作業(yè)吧,我只是提出我自己的解決方案,不一定是最合適的。
    2013-04-04
  • ASP.NET Core使用GraphQL第二章之中間件

    ASP.NET Core使用GraphQL第二章之中間件

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core使用GraphQL第二章之中間件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • .NET?webapi某化妝品直播卡死分析

    .NET?webapi某化妝品直播卡死分析

    這篇文章主要為大家介紹了.NET?webapi化妝品直播卡死分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 為ASP.NET Core強類型配置對象添加驗證的方法

    為ASP.NET Core強類型配置對象添加驗證的方法

    這篇文章主要給大家介紹了關(guān)于如何為ASP.NET Core強類型配置對象添加驗證的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • .Net?生成壓縮文件問題記錄(推薦)

    .Net?生成壓縮文件問題記錄(推薦)

    由于公司開發(fā)項目需要遷移部署到Linux環(huán)境部署運行,之前項目中生成Zip壓縮文件的代碼邏輯在Linux運行生成壓縮文件不正常,今天通過本文給大家分享.Net?生成壓縮文件問題記錄,感興趣的朋友一起看看吧
    2022-02-02
  • ASP.NET中repeater控件用法實例

    ASP.NET中repeater控件用法實例

    這篇文章主要介紹了ASP.NET中repeater控件用法,實例分析了repeater控件數(shù)據(jù)綁定、刪除等相關(guān)技巧,具有一定實用價值,需要的朋友可以參考下
    2014-12-12

最新評論