2011-07-20 73 views
2

我不想使用Silverlight/WPF路線,而是使用MVC3作爲後端,在HTML5中構建我的(單用戶)應用程序。這可能嗎?將它用於獨立的桌面應用程序可行嗎?獨立MVC3 webapp?

我可以在IIS中設置它,但我不想這麼做 - 它不是可移植的,需要一個固定的目錄,而且我無法在沒有安裝IIS的情況下啓動我的應用程序。

回答

1

我已經嘗試過一個獨立的基於.Net的Web服務器,它具有託管MVC應用程序的能力 - 它當然有可能,您可以在獨立的應用程序中使用這樣的Web服務器,或者與Web瀏覽器控件在Windows應用程序中,或者只是使用類似於Visual Studio 2010中幫助系統的正常瀏覽器。

有可用的幾個選項:

  • Neokernel(不是免費的)
  • C# WebServer(開源)
  • IIS Express可能是一種選擇,但據我瞭解的重點是提供一個Web服務器進行開發,因此我不確定是否有可用的可再分發。

有一個answer on another question涵蓋了使用IIS宿主Web核心,它看起來非常整潔,但要求在機器上安裝IIS 7。

或者,我自己寫了一個小型Web服務器,自己做了這個。它真的不會那麼難,但棘手的是讓我的Web服務器的行爲與IIS在處理ASP.Net請求時的行爲完全一樣。儘管它至少可以與一些MVC應用程序一起工作,但它絕對不適用於所有 MVC應用程序,並且根據MVC應用程序的複雜性,幾乎可以肯定需要一定量的「調整」才能使所有內容都能正常工作。

如果你想知道它是如何工作的並嘗試編寫你自己的(或者爲了你自己的目的而修改它 - 如果你想要一個非開放源碼的授權版本,那麼就問一下),我寫的是on CodePlex

如果你想要一個可用的Web服務器,雖然C#WebServer是一個更好的選擇(雖然我沒有真正使用它,所以不太瞭解它是如何工作的)。

(我可能會避開整理我的Web服務器之一,這些天,但此刻我有太多的其他項目!)

+0

謝謝!我會檢查這些。 –

0

想到的第一個選擇是使用IIS Express,這基本上是一個你可以隨身攜帶的小IIS。我不知道這種情況下你的應用程序的安裝故事會是什麼,不過(無論你需要安裝IIS Express,然後安裝你的應用程序,或者你是否可以一次完成)。