• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

        在 .NET 中運用 WEB SERVICE 的CallBacks機制 (5)

        在 .NET 中運用 WEB SERVICE 的CallBacks機制 (5)

        更新時間:2022-05-06 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

        3. Web Form
        對于WebService”A”我們使用的瀏覽器作為客戶端。 每個 Web Methods有自己的按鈕觸發(fā)事件,在棧(Stack)中來保存Session類的狀態(tài)。 頁面的更新基于下面的機制:事件處理程序把數(shù)據(jù)壓到Session棧,在Page_Load時提取出來并且插入到ListBox control中。另一個議題是以異步方式調(diào)用DoSomeWorkA方法,它可以產(chǎn)生和處理callback,這就是我們?yōu)槭裁茨芩土硪粋請求給WebService”A”的原因。注意每項工作都被它的驗證票據(jù)ID所識別。
        namespace WebFormCallbackWS
        {
        public class WebForm1 : System.Web.UI.Page
        {
        // ...
        protected ServiceA sa = new ServiceA();

        public WebForm1()
        {
        Page.Init += new System.EventHandler(Page_Init);
        }

        private void Page_Load(object sender, System.EventArgs e)
        {
        if(IsPostBack == false)
        {
        //initialize controls, one time!
        if(Session["Status"] == null)
        Session["Status"] = Stack.Synchronized(new Stack());
        }
        else
        {
        Stack stack = Session["Status"] as Stack;
        while(stack.Count > 0)
        ListBoxCallbackStatus.Items.Add(stack.Pop().ToString());

        int numberOfItems = ListBoxCallbackStatus.Items.Count;
        if(numberOfItems > 13)
        ListBoxCallbackStatus.SelectedIndex = numberOfItems - 13;
        }
        }
        private void Page_Init(object sender, EventArgs e)
        {
        // ...
        }

        #region Web Form Designer generated code
        private void InitializeComponent()
        {
        // ...
        }
        #endregion

        // Call the web service asynchronously
        private void ButtonDoSomeWorkA_Click(object sender, System.EventArgs e)
        {
        int count = Convert.ToInt32(TextBoxCount.Text);
        string ticket = TextBoxTicketId.Text;
        //
        AsyncCallback callback = new AsyncCallback(callbackDoSomeWorkA);
        IAsyncResult ar = sa.BeginDoSomeWorkA(count, ticket, callback, null);
        ListBoxCallbackStatus.Items.Add(string.Format("#{0} start ...",
        ticket));
        }
        // the call callback from the WebService
        private void callbackDoSomeWorkA(IAsyncResult ar)
        {
        string retval = sa.EndDoSomeWorkA(ar);
        Stack stack = Session["Status"] as Stack;
        stack.Push(retval);
        }
        // call the web service
        private void ButtonAbort_Click(object sender, System.EventArgs e)
        {
        Stack stack = Session["Status"] as Stack;
        stack.Push(sa.AbortWorkA(TextBoxTicketId.Text));

        }
        // Get the status from the web service
        private void ButtonRefresh_Click(object sender, System.EventArgs e)
        {
        Stack stack = Session["Status"] as Stack;
        stack.Push(sa.GetStatusWorkA(TextBoxTicketId.Text));
        }
        // clean-up the listbox
        private void ButtonClear_Click(object sender, System.EventArgs e)
        {
        ListBoxCallbackStatus.Items.Clear();
        }
        }
        }
        ok,我們現(xiàn)在開始做過測試。上述的照片顯示了Web 形式的用戶界面。 首先,確定你網(wǎng)絡聯(lián)機并且處于企業(yè)內(nèi)部局域網(wǎng)絡。 在 DoSomeWork 按鈕上的單擊,然后請求狀態(tài)結果。Status 和Abort按鈕可以在容易時間點擊。 ListBox 控件將會顯示某個工作的當前狀態(tài) (由驗證票據(jù)得到)
        結論:
        使用應用程序模型的 WEB SERVICE開創(chuàng)了分布式架構的一個新紀元。在企業(yè)化模型層次結構中使用.Net Framework動態(tài)的調(diào)用Web Methods是簡單的,很直接的。這篇文章說明它如何使用 C#語言來實現(xiàn)。 這種解決方案很好的解釋了相關的概念和設計時所設計的問題。如果真正投入到市場,還需要考慮許多因素,如安全設計,完整的 url 尋址,密碼,服務器代理等。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲国产精品久久久久秋霞影院 | 精品熟女少妇AV免费观看| 国产亚洲精品无码专区| 一级大黄美女免费播放| 亚洲国产成人久久笫一页| 特黄特色的大片观看免费视频| 免费A级毛片无码A∨男男| 污视频网站在线观看免费| 亚洲裸男gv网站| 中文字幕乱码免费看电影| 亚洲a在线视频视频| 最近中文字幕大全免费视频| 亚洲区视频在线观看| 无码日韩人妻av一区免费| 色天使亚洲综合一区二区| 精品亚洲成α人无码成α在线观看| 亚洲天堂免费在线视频| 亚洲av无码国产精品夜色午夜| 100部毛片免费全部播放完整| 亚洲日本在线免费观看| 最近免费中文字幕大全视频| 国产亚洲Av综合人人澡精品| 最新国产AV无码专区亚洲| 久草免费福利视频| 亚洲五月丁香综合视频| 免费不卡中文字幕在线| 男人都懂www深夜免费网站| 99亚洲精品高清一二区| 在线免费观看视频你懂的| 一区二区免费在线观看| 亚洲欧洲日产国产综合网| 成人看的午夜免费毛片| 曰批免费视频播放免费| 亚洲精品在线观看视频| 国产精品免费电影| 免费a级毛片无码a∨免费软件| 亚洲欧洲春色校园另类小说| 国产女高清在线看免费观看 | 黄色一级毛片免费| 久久久久久久亚洲Av无码| 性做久久久久免费观看|