通過Mono 在 Heroku 上運行 .NET 應用


英文原文:Running .NET on Heroku

中文原文:在 Heroku 上運行 .NET 應用

自從加入了Heroku之后,我就想在這個平台上運行.NET程序。現在我很高興向大家宣布,我們已經有了一個可用的環境reasonably workable Mono buildpack。我的目標是能夠在Windows上使用Visual Studio創建一個ASP.NET MVC解決方案去創建一個Heroku的應用程序。它能夠使用git命令push Heroku,構建Heroku,應用部署在MonoXSP網絡服務器。

result主要是基於原先我工作的同事Brandur

開始

為了使用這個 .NET 編譯包,先創建一個 ASP.NET MVC 4  網站,然后啟用 NuGet 包倉庫。為了使這個解決方案能在 Mono 和 xbuild 中運行,我們需要進行一些處理:

至此,我們修正了 Mono, NuGet 和編譯包后,應該解決了那些障礙。

現在,我們將解決方案部署到 Heroku 里面去:

$ heroku create
$ heroku config:add BUILDPACK_URL=https://github.com/friism/heroku-buildpack-mono/  
$ git push heroku master

我已經編寫了幾個可以運行的例子。 TestingMono 是一個相當簡單的的MVC網站,有一個后台線程每秒輸出一條消息。 為了運行這個后台線程,添加一個 Procfile 來啟動命令行線程:mono WorkerTest.exe。然后限制為1線程: heroku scale worker=1。另一個例子來自一個 AppHarbor  例子, 演示了 Heroku PostgreSQL 數據庫的 的簡單使用。 注意: connectionstring 是 從環境變量中讀取的, 而不是像其他.NET應用一樣從 Web.config 讀取。 你可以在 這里 看到運行的例子。

總結

能夠正常運行的:

  • 在 Mono 3.0.11 和 XSP 3.0.11 中運行 ASP.NET MVC 4.
  • NuGet 包倉庫 所以你不用手動添加你的依賴庫。
  • 編譯輸出緩存及增量編譯,包括已下載的 NuGet 包的緩存。
  • 運行 EXE文件以作為后台工作線程。

需要添加額外處理的:

  • 向 Web.config 中的 appSettings 添加配置項。
  • 使更多的 Visual Studio 模板可以使用。
  • 尋找 XSP 的替代品 (如 nginx)。

請參考  README中的TODO. 歡迎大家參與到這個項目中來。我計划在將來再寫一篇 blog 來解析編譯包如何生成依賴庫 (這里的話只有 Mono and XSP)。

PS. 我正在努力使 Visual Basic 運行起來。

 

相關文章:

學習 HeroKu 的架構設計

How to deploy Mono projects with Heroku

Heroku .NET buildpack update to Mono 3.2 and more

在Heroku上部署Java應用三步曲


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM