2010-03-23 42 views
7

我目前正在研究一個有大量客戶端和網絡代碼的項目。客戶端代碼是用C#編寫的,網頁是用PHP編寫的。保持兩個世界之間的一致性變得越來越麻煩,我想將網絡代碼整合到.Net。輕量級.NET網站開發?

問題是我討厭ASP.Net Web窗體中的Web開發。我需要像PHP一樣原始的東西,而不是使用C#。我已經讀了一些關於ASP.Net MVC的內容,但它看起來像它抽象了太多的我所喜歡的請求邏輯。

有誰知道一個輕量級的方式來允許C#+ .Net來處理Web請求?我應該更密切地關注MVC嗎?

更新:我去了ASP.Net MVC,我到目前爲止非常高興。

回答

6

如果您希望遠離ASP.NET Web窗體,我推薦帶有自定義視圖引擎(如Spark或NHaml)的ASP.NET MVC。這將爲您提供所需的整合,並讓您避免大部分不滿意的Web表單。 AFAIK,要進行.NET Web開發,您將不​​得不以某種形式與ASP.NET進行交互,但是MVC中的自定義視圖引擎可能正是您尋找的抽象。

+1

同意,雖然我敢打賭,你的ASP.NET MVC將是對你有好處。如果您想快速瞭解ASP.NET MVC,請按照NerdDinner教程進行操作。您可以在大約12小時內完成,您可以在此時做出明智的決定。 http://nerddinnerbook.s3.amazonaws.com/Intro.htm是其主頁,但您可以免費下載該頁面底部的PDF,這是包羅萬象的。我強烈建議這個。 – Jaxidian 2010-03-23 02:30:52

0

你應該看看IHttpHandlerIHttpModule接口。這些是ASP.NET WebForms的基礎。布拉德威爾遜前者有一個good intro

在WebForms做ASP.NET開發的不好的日子裏,我用這些接口編寫了自己的簡單MVC框架。當時我掙扎的是View引擎,但現在有很多這樣的引擎。

您仔細看看ASP.NET MVC,因爲源代碼可用並自行決定。這可能是因爲你想改變一些使用的約定而不是整個框架。

2

您可能想查看Kayak,據我所知,這是唯一一個不是ASP.NET的獨立.NET Web開發框架。注意:Kayak的請求處理實現並不是最好的,因此可能存在性能或縮放問題。我不能肯定地說 - 我只讀過它,沒有運行它。

編輯:我又看了看源代碼,看起來他們已經重寫了很大一部分服務器代碼,並且這樣做解決了主要問題。性能可能不會成爲問題。

+0

FubuMVC,OpenRasta,Castle MOnoRail – 2010-03-23 02:10:41

+0

該項目頁面位於http://code.google.com/p/kayak/ – 2010-03-23 02:10:51

+0

@George糾正我,如果我錯了,但不要MOnoRail和FubuMVC依賴IIS/ASP 。淨? – ShZ 2010-03-23 02:16:14

1

MVC.NET是開源的,所以你可以讓它做你想做的。這是一個可覆蓋,可擴展的框架,我會仔細看看它。它對我很好,我來自CGI,Struts和Webwork的背景。我喜歡它。

1

在我看來,沒有什麼比NancyFX(http://nancyfx.org/)與短小精悍(https://github.com/SamSaffron/dapper-組合更輕盈點網)進行數據訪問。

NancyFX可以在ASP.NET,WCF,Azure,OWIN兼容環境,Umbraco中託管,也可以編寫自己的主機。

也讀這些文章: http://theothersideofcode.com/lightweight-development-in-dot-net-nancy http://theothersideofcode.com/lightweight-data-access-in-dot-net-massive

我也建議你到TinyIoC(https://開頭github.com/grumpydev/TinyIoC)來分離你的應用層。

問候, 賈科莫