2010-09-30 56 views
1

我們目前有一個WinForms應用程序,我們要慢慢遷移到一個Web應用程序。什麼是ASP.NET MVC中高流量,複雜形式的一些技巧?

一個屏幕是一個使用DataWindow的時間表輸入系統,它非常慢並且很麻煩。 無論如何,時間表屏幕有五個實時保存的部分。完成的時間表需要2-5個這些部分。

目前系統運行緩慢。我們的一些遠程辦事處幾乎沒有壓裂-T1。

所以我想用ASP.NET MVC2重新設計是屏幕,甚至可以提供一些增強,如自動完成(它目前缺乏)等

對於我知道窗體上的最佳做法的任何建議會是高容量並運行在可能的慢速網絡上?

目前,由於時間表的每個部分在退出某個字段時都會保存,因此存在大量往返流量。我想避免這一點,但我承認部分保存很酷。

任何意見或建議表示讚賞。

感謝

+0

緩慢的網絡可能意味着兩件事 - 它是高延遲?低帶寬?或兩者?兩個非常不同的問題,以建築周圍。 。 。 – 2010-09-30 14:43:11

+0

我不熟悉我們的遠程連接和帶寬。這裏有網絡人員沒有完全發佈這些信息。我的懷疑是兩者的混合。 – cbmeeks 2010-09-30 14:53:54

回答

0

php/lamp與asp.net mvc:涉及的唯一因素不是許可成本。團隊扮演重要角色,當然這取決於您的現有技能,但追逐您不太習慣的平臺將會帶來更高的開發+基礎架構開銷。

因爲這個項目可能不會給出預期的結果,那會比保存小百分比更大的問題。先發制人的攻擊:你不需要在asp.net MVC中使用ms sql,所以「數據庫許可證不會使它變小」不是一個有效的論點。

至於提示檢查我發佈到這個問題的答案:Scalable application with ASP.NET or Google AppEngine。此外:

  • 您不需要一次加載所有這些選項卡。您可以在用戶選擇它們時檢索標籤。這會使初始加載時間更快(以第一次打開其他標籤時希望的小延遲爲代價)。如果適合該場景,則可以在客戶端保存已打開的選項卡,因此額外的命中/延遲僅在第一次打開額外選項卡時發生。

目前,有很多往返交通由於時間片的每個部分保存時,他們標籤了實地的。我想避免這一點,但我承認部分保存很酷。

您可能已經這樣做了,但您可以使用更改檢測來確保只有當用戶實際進行更改時纔會發佈更改。此外,您不需要發送整個選項卡,只需發送所做的更改即可。

+0

感謝您的回覆,但PHP不會在這裏飛。此外,我在C#(WinForms)和Rails方面經驗豐富,所以來自MS的MVC解決方案對我來說更有意義(在這家公司) – cbmeeks 2010-09-30 20:02:18

+0

@cbmeeks可能我搞砸了我的寫法,但我根本沒有說使用PHP,完全相反,即改變可能會比團隊慣用的.net更堅持.net。請檢查我鏈接到的答案以及我在此答案中發佈的所有其他信息。我所說的唯一的事情就是你不必使用ms sql,這通常被毫無意義地包含在有關許可成本的論據中,這些論據是由php/lamp開發人員提供的。 – eglasius 2010-09-30 20:56:27

1

這是一個艱難的一個給出一個明確的答案 - 無論選擇你把會有權衡和妥協。

就我個人而言,我會建議OOB Silverlight 4 + WCF。

您可以一次性下載Silverlight應用程序,但一旦他們安裝了唯一的流量,您應該擁有的是發往/來自Web服務的數據和消息。將流量減少到純粹的數據+消息並消除HTML會減少擁塞。

您可以使用ASP.Net或ASP.NET MVC中的AJAX,但每當用戶想要填寫時間表時,您仍然可以下載頁面。 AJAX也可以有點瑣碎,特別是當提供自動完成功能時。使用ASP.NET/MVC時,獲得使用UI的好處也會相當困難,使用SL,您會發現模擬當前Winforms應用程序的UI功能變得更加容易。根據我的經驗,在Silverlight中開發富Web應用程序的速度要快於ASP.NET。在任何情況下,如果您使用這兩種技術對一些演示進行編碼並運行它們以查看它們在最差的辦公室中的表現如何,那將是最好的,這將是唯一確定哪種方式最好的方法。

可以用SL4可以減少下載Silverlight應用程序的交通肇事逃逸,使應用程序的脫離瀏覽器之一,發運XAP文件給用戶,並使用sllauncher.exe進行安裝(這是系統管理員的麪包和黃油東西)。這確實使更新SL應用程序變得更加困難,但是您可以在網絡流量特別差的辦公室以這種方式進行。

+0

+1,SL和MVC之間的很好的比較。另外,同意在MVC和SL中嘗試重新創建現有WinForms應用程序的功能可能會有更多工作。 – 2010-09-30 14:01:15

+0

感謝您的回答,但我沒有提到Silverlight是不可能的。如果你知道我的意思,我並不是在抨擊這項技術,而是那些想要一個「網絡應用程序」並且沒有「下載軟件」的能力。 – cbmeeks 2010-09-30 14:51:58