2011-05-21 41 views
0

我們已經開始將.NET胖客戶端應用程序遷移到Web。工作範圍 僅限於將winforms UI遷移到Web UI。 biz邏輯組件將在將較早的web服務包裝層剝離之後重新使用,因爲展示組件和biz組件將在IIS上搭配使用。我們決定使用WCSF來達到這個目的。我想驗證一些拱形/設計決策,使用.NET和WCSF進行指導和設計決策

  1. 我們是否需要使用JS框架, jQuery,DOJO等AJAX?或者ASP.NET控件是否具有足夠的內置支持來接受所有基於JS的前端驗證,AJAX表單提交,錯誤消息顯示等。

  2. 使用基礎模塊時是否有任何問題?通過在啓動過程中加載和緩存所有模塊,它是否使應用程序變得沉重?

  3. 對所有服務功能使用靜態方法/類是一種好方法嗎?或者我們應該使用具有服務依賴性的非靜態類/方法嗎?

我是新來的.NET :)

+1

您是否考慮過使用WCSF的MVC 3? – 2011-05-21 03:18:34

+0

重複使用現有組件是強制性的。因此,排除了MVC 3。 – cosmos 2011-05-21 14:49:55

+0

什麼是現有的組件?我沒有看到那些提到的? – 2011-05-22 01:57:09

回答

-1

我是新來的.NET :)

聽起來更likea初級deveoper。

重新3:不好的做法。使用依賴注入器,並避免在90%的情況下使用靜態方法。你放棄了很多的靈活性。這是我的初級開發人員的做法,從靜態方法和「癒合」多年以來的標準IT架構,而與.NET無關。

Re 1:你不需要使用JS框架。你也不需要購買汽車,並可以建立自己的汽車。但這並不符合成本效益。 Web應用程序?首先學習.NET ......就像微軟稱這個新的子框架叫做MVC,這使得開發良好的軟件sasier(可測後端)更適合web應用程序。微軟的內部標準控件asp.net和整個webform框架hare有限,並有自己的一套問題。也就是說,如果你知道你在做什麼 - MVC是最有用的 - JQuery明智(集成)和單元測試/架構明智。回覆2:你在乎什麼;)如:即使它讓他們在學業上變得更慢,但它並不真正相關。也就是說,什麼是基礎模塊?我沒有在ASP.NET框架或IIS文檔中看到這個詞。

+0

因爲我們必須重用當前應用程序中的ASP.NET控件,所以MVC 3無可厚非。那麼這個約束是最好的選擇。根據文檔,Foundation模塊是.NET WCSF的一個組成部分 – cosmos 2011-05-21 14:52:42

0

您的個人資料表明,雖然您可能是.NET的新手,但您是一位經驗豐富的Java開發人員。

1 - 我同意TomTom,你不需要JS框架,但ASP.NET WebForms驗證控件相當有限。你會很快發現自己需要編寫自定義的JS,並且從頭開始創建一個像jQuery這樣的框架將會很有幫助。諸如當有人點擊某個按鈕以防止雙重回傳時,禁用所有按鈕使jQuery的選擇器變得更容易。

也就是說,另一種選擇是從Telerik,DevExpress或Infragistics等公司購買一些第三方控件。有一個免費的,開源的社區維護的AJAX控件集,稱爲ASP.NET AJAX控件工具包,在這裏:http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite。默認的ASP.NET控件是非常基本的。

2 - 所有ASP.NET應用程序在更新後首次訪問時加載到內存中時都有不可避免的啓動時間,例如對於典型的業務線應用程序,大約需要10 - 20秒。我還沒有調查過WCSF的模塊加載器增加了多少時間,但它仍然是初始加載的一部分。通常,您在更新它之後訪問您的ASP.NET網站,以強制初始加載,以便客戶端不必。在這種情況下,WCSF添加任何時候對客戶來說都是無關緊要的。

3 - 將靜態方法用於服務的一個缺點是,您無法將它們添加到.NET中的接口中。如果您使用的是WCSF,我強烈建議使用它的DI功能來解析接口,這意味着只使用非靜態的東西。用非靜態的東西來處理單元測試問題也很困難,例如構造函數/初始化函數只能運行一次,無法更新成員變量。