目前有幾個工作流程系統,每個系統都通過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時,會出現跨域問題。
因此,將這個需求和碰到的問題發到這裡,請各位大牛們幫忙解決。。