求解:AJAX輪詢跨域WebService。

來源:互聯網
上載者:User

  目前有幾個工作流程系統,每個系統都通過webservice向外提供對工作數目的查詢。

  工作數目均有以下幾種方式:在辦、待辦、已辦。

  也就是說,每個webservice都有至少3個對外提供的函數(所有系統的函數簽名均一致)。

需求:

  在.NET(2.0)環境下,編寫一個web控制項或webpart,來集中顯示每個系統的工作數目。

  布局如下:

 


  說明: 其中綠色部分,表示是擁有當前焦點的系統和工作項目類型。

         左邊的三個小框顯示的是工作項目類型,上方的小框顯示的是系統。

         

         左邊的工作項目類型中的紅色文字,顯示的是所有系統在某個類型(比如在辦)下的總數目和 ,比如,在辦的(23),表示是的所有系統(5+7+11+0)的和。待辦、已辦同理。

         右邊的系統中的紅色文字,顯示的是當前系統在當前類型(即左邊擁有當前焦點的類型)下的工作項目數目。 比如,系統2(7),表示系統2擁有7項在辦工作、系統3擁有11項在辦工作。  當點擊切換左邊的工作類型類型時,右邊的所有系統的數目也會改變,比如,當點擊待辦時,右邊的所有系統的數目均會變成各系統下擁有的待辦數目。切換後的介面如下所示:

  


行為描述:

     組件(控制項)載入完成時,預設選中第一個系統,及第一個工作項目類型(在辦)。

     點擊左邊的工作項目類型時,右邊的系統數目相應的改變,同時更新列表。

     點擊某個系統時,更新列表。

    

技術選用:

1、.NET : HttpWebRequest

2、JavaScript:Ajax

需要注意:

1、  某個系統所在的伺服器停止提供服務或伺服器響應緩慢時,控制項或組件不能阻塞頁面響應。

2、  所有的webservice與控制項或組件所在的網站不為一個域(即所有的請求均是跨域)。而且webservice兩兩之間也不在同一個域。

----------------------

目前,我分別使用HttpWebRequest和JS兩種方式進行了處理。存在以下問題:

使用HttpWebRequest時,當某個webserivce停止回應,或響應慢時,會導致使用控制項或組件的頁面被阻塞。

使用ajax時,會出現跨域問題。

因此,將這個需求和碰到的問題發到這裡,請各位大牛們幫忙解決。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.