ASP.NETは、Ajaxを実現するためのjQuery LigerUIポーリングメッセージのプッシュを使用して

ポーリングはサーバーにリクエストを送信するために随時、クライアントに時計の確立である、アクセス・サーバ・データ、単純で実装するのが最も簡単なメッセージのプッシュを達成するための一つの方法である、最大の欠点ブラウザがサーバに一定のリクエストが必要ですそれは資源の無駄で、その結果、多くの帯域幅を取ります

ここでJSのコードは次のとおりです。

1つの $(ドキュメント).ready(関数(){
 2              のsetInterval(20000を呼び出す);
 3          })。
4          関数を呼び出し(){
 5              VAR XHR = $アヤックス({
 6                  タイプ: "POST" 7                  データ型: 'JSON' 8                  URL: "Sys_msg.get_unRead_count.xhd" 9                  データ: "" 10の                  成功:関数(結果){
 11                      VAR OBJ = 評価(結果);
 12                     IF(OBJ> MSG_COUNT)
 13がある                     {
 14                          $ .ligerTip({
 15                              内容:+ "あなたは<フォント色=赤>持っている" (OBJ-MSG_COUNT)+「</ FONT> 。記事新しい未読メッセージをチェックしてください! <BR> <a href='javascript:void(0)'onclick=\"window.top.f_addTab('Sys_msg','消息管理','personal/message/sys_msg.aspx')\">プロセスに< / A>」16                              幅:240 17                              // ; VAR WINH = $(ウィンドウ).height()、ウェハ内= $(ウィンドウ).width()
18は                              : - 、260 tIPW X   // 気泡の位置、ディスプレイのバブル右下隅を設定
。19                              Y:tipH - 80 20であります                             コールバック:関数(T){
 21である                                 VAR I = 10; // 10秒のカウントダウン
22は                                 CalcTimeに(T、I);
 23である                             }
 24                          });
 25                      }
 26が                      MSG_COUNT = OBJ;
 27                      
28                  }
 29              });
 30          }
 31である     VAR = $ tipH(ウィンドウ).height()、tIPW = $(ウィンドウ).width();     //は、画面サイズ取得する
32      の機能 CalcTimeに(T、I)を//この関数は、再帰カウントダウンすることによって達成される
33は         、{
 34で              i-- ;
 35              (I> = 0 36          のsetTimeout(?関数(){
 37 [              CalcTimeに(T、I);
 38れる          } 1000 39          :$(T)。 ;削除()
 40          }

背景コード:

1  パブリック クラスSys_msg
 2      {
 3          パブリック 静的 BLL.Sys_msg MSG = 新しいBLL.Sys_msg()。
4          パブリック 静的 Model.Sys_msgモデル= 新しいModel.Sys_msg()。
5  
6          公共のHttpContextコンテキスト。
7          公共の 文字列EMP_ID;
8          公共の 文字列EMP_NAME。
9          公共HttpRequestの要求。
10の         公共の 文字列のuid;
11          
12  
13          公衆Sys_msg()
 14         {
 15          }
 16  
17          公衆Sys_msg(のHttpContextコンテキスト)
 18          {
 19              コンテキスト= 文脈。
20              リクエスト= context.Request。
21  
22              VaRのユーザー情報= 新しいUSER_INFO()。
23              従業員= userinfo.GetCurrentEmpInfo(コンテキスト)。
24  
25              EMP_ID = employee.id。
26              EMP_NAME = PageValidate.InputText(employee.name、50 )。
27              UID = PageValidate.InputText(employee.uid、50 )。
28              
29          }
 30  
31  
32          公衆 INT get_unRead_count()
 33          {
 34               serchtext = $ " 1 = 1 " 35              // int型行数= 0; 
36              serchtext + = " とisRead = 0 " 37              serchtext + = " とユーザID N '%のような" + EMP_ID + " %' " ;
38の              データセットDS = msg.GetList(serchtext)。
39              //行数= ds.Tables [0] .Rows.Count。
40              リターン ds.Tables [ 0 ] .Rows.Count。
41          }
 42  
43      }

 

おすすめ

転載: www.cnblogs.com/Alvis-Lv/p/11130309.html
おすすめ