2009-10-02 19 views
3

我從fasthosts.co.uk購買了Windows Developer主機軟件包,我相信這是一個bog標準共享主機軟件包。它有ASP.NET 3.5,並且根據他們的支持,還安裝了SP1。無法將ASP MVC應用程序拒絕到普通的共享主機提供商

我開發了我的web應用程序,使用ASP MVC 2預覽版1(順便說一下,我期待卡住預覽版2),它在我的預覽機上預覽2通過安裝程序包安裝。

由於服務器沒有安裝MVC,我也跟着 Phil Haacks bin deployment method不縫如發生以下情況已經奏效......

當我部署它,將文件複製到服務器我得到一個普通的無用的「服務器錯誤500 - 內部服務器錯誤」。所以我修改了我的web配置,以使customErrors mode =「Off」,這沒有什麼區別,所以我想到了一些事情正在阻止它進入customErrors位。

然後我開始取出一些網頁配置,直到它給了我一個體面的錯誤信息。我發現它只會給我一個錯誤消息,如果以下位取出的配置 -

  • 整個configSections部分
  • 整個HttpHandlers的部分
  • 整個system.codedom部分
  • 的處理程序和defaultDocument部分system.webServer部分

我使用MVC生成的標準Web配置,除了我自己的連接字符串 - 我爲此測試拿出的內容以外沒有任何更改。

現在,我得到它給我一個錯誤消息,我得到「無法加載文件或程序集System.Web.Mvc ...」的消息,我卡住了! - 有什麼建議麼?

編輯:

我買了一臺新的主機包與他人在一起,這一切工作得很好!當我部署一個空的MVC應用程序時,我確信這是Fasthosts錯誤,這要感謝Phils的建議,然後是一個空白的正常Web表單應用程序 - 並且他們都給出了相同的錯誤。

我目前正在試圖說服他們這是他們的錯,但他們讓我放心,我的問題是與我的網絡配置。試圖取消我的託管與他們,但我顯然是在一個12個月的合同,即使我選擇每月支付 - 哦。

我想不跟Fasthosts去是一件事情要從這一點。

+0

什麼IIS的版本? – 2009-10-02 18:25:24

+0

只是響了他們,他們說IIS7 – Tom 2009-10-02 18:36:00

+0

你可以把你的網站上的MVC診斷頁面,以確定IIS版本(http://bradwilson.typepad.com/blog/2010/03/diagnosing-aspnet-mvc-problems.html )。當我在Fasthosts上完成時,它告訴我它正在運行IIS(http://www.proofbydesign.com/mvcdiagnostics.aspx)。有興趣知道你是否因爲我還沒有得到MVC而工作。 – 2010-07-07 10:12:33

回答

2

這聽起來像你可能沒有部署到webroot。是這樣嗎?嘗試部署一個空的MVC項目。

+0

! – scottm 2009-10-02 18:48:31

+0

我的網站主機說我的所有文件都應該放在我的htdocs文件夾中,我猜是我的webroot,並且在那裏部署會出現同樣的問題。在我部署到htdocs/test /之前,這沒有任何區別。我試過了一個新的空MVC項目和我目前的項目。沒有運氣:( – Tom 2009-10-02 22:51:52

+0

htdocs?是不是一個apache的東西?你能得到一個正常的Web窗體頁面工作嗎?如果是這樣,寫一個頁面打印出所有的服務器變量 – Haacked 2009-10-02 23:23:44

-1

您需要服務器上的ASP.Net MVC 2 dll。在您的項目中,選擇屬性下的dll,將「Copy Local」更改爲true。

+0

謝謝,但我已經這樣做了,由該人自己回答http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx – Tom 2009-10-02 18:19:45

0

仔細檢查您的Global.asax和代碼隱藏......我認爲這種錯誤發生在應用程序甚至無法啓動時(因此您除了500之外沒有其他錯誤)。

你有沒有試過把一個簡單的,獨立的ASPX頁面沒有代碼隱藏或任何東西?如果是這樣,你是否得到相同的錯誤?如果是這樣,我認爲ASP.NET 3。5未正確配置您的虛擬目錄,您必須要求技術支持來重新安裝/修復或設置IIS虛擬目錄屬性的ASP.NET選項卡中的版本。

+0

支持人員在報告目錄中放置了幾個標準aspx頁面。淨版本和日期 - 他們工作得很好 – Tom 2009-10-02 22:54:20

1

發生此錯誤是因爲快速主機不允許配置部分的system.webserver部分與Web服務器交互(非常令人討厭)。我有bin部署MVC網站到fasthost帳戶,它部分工作...你可以查看索引頁面,但路由不起作用。爲了擺脫這些錯誤,只需註釋掉system.webserver部分即可。我一直無法得到路由使用的.aspx或.mvc擴展:(

1

我有我的MVC現場工作如下工作:

我加入了ASPX延伸到我的默認路由映射:

routes.MapRoute(
      "Default", // Route name 
      "{controller}.aspx/{action}/{id}", // URL with parameters 
      new { controller = "Front", action = "Default", id = UrlParameter.Optional } 
     ); 

    routes.MapRoute(
      "Root", 
      "", 
      new { controller = "Front", action = "Default", id = "" } 
     ); 

我不認爲根一個實際工作,因爲我有一個403,'沒有目錄列表'的錯誤,所以我添加了一個default.aspx頁面的網站,只是在OnInit重定向到「〜/ Front .aspx/Default「(注意,我的默認控制器重命名爲Front而不是Home)。

我將三個Mvc dll更改爲Copy Local,以便將它們部署到我的站點的bin目錄中。

我對所有的頁面鏈接都使用了HtmlAction,以便它們自動獲得aspx擴展名。

我注意到該網站在初始加載時比使用網絡表單更慢,但除了一切似乎沒有問題外。

2

我知道這是過時的方式,但我發現這個Q &當試圖建立一個在Fasthosts共享主機平臺上的MVC 5網站。我得到了它的工作進行到底的方式是增加runAllManagedModulesForAllRequests="true"的web.config,如:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <remove name="FormsAuthenticationModule" /> 
    </modules> 
    </system.webServer> 

而這一切的偉大工程!

更新事實證明,這有點像使用大錘開裂螺母,可能會影響性能。 Colin Farr正確地指出,這可以通過修改你的web.config中的模塊部分,包括要解決更優雅:

<modules> 
     <remove name="UrlRoutingModule-4.0" /> 
     <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> 
     <!-- any other modules you want to run in MVC e.g. FormsAuthentication, Roles etc. --> 
    </modules> 
相關問題