2013-02-02 102 views
1

已更新 - 首先指向錯誤的目錄。感謝您的提示Wiktor。仍然沒有成功運行MVC4應用程序通過在本地IIS網絡服務器上運行MVC4應用程序

我想(一段時間.. :))在我的開發PC上設置一個模擬的多租戶Web應用程序。我瞭解到,這是不可能與Visual Studio的內部網絡服務器,所以我想設置IIS。

我在我的主機中添加了fake租戶。

127.0.0.1 localhost 
127.0.0.1 tenant1.mydomain.com 
127.0.0.1 tenant2.mydomain.com 

在IIS中我犯了一個新的網站test(8081端口),只是它指出C:\Azure\Websites\。在該目錄中,我添加了一個Hello World html文件以查看該位是否有效。

  • 我導航到localhost:8081 =>世界,你好
  • 我瀏覽到tenant1.mydomain.com:8081 =>世界,你好。

酷,首次證明生活。


下一步:使用在VS2012中創建的MVC4 webapp進行操作。

我開始了新的Web應用程序MVC4並將其存儲在: C:\Azure\Websites\MvcApplication1

我只使用默認生成的網站進行測試,所以我按F5並驗證該網站在Firefox打開。所以我們的目標是從IIS中獲得這個工作。

  • 創建一個新的網站test2(端口8082)
  • 組test2的應用程序池,以.net4.0
  • 點的物理目錄C:\Azure\Websites\MvcApplication1\MvcApplication1\
  • 導航到localhost:8082

HTTP錯誤500.21 - 內部服務器錯誤 處理程序「ExtensionlessUrlHandler-Integrated-4.0」在其mod中有一個錯誤的模塊「ManagedPipelineHandler」 ule list

卸載ASP.NET並重新安裝。相同的結果。

當我改變的web.config從

preCondition="classicMode,runtimeVersionv4.0,bitness32" 

preCondition="integratedMode,runtimeVersionv4.0,bitness32" 

然後我得到這個錯誤:

HTTP錯誤404.2 - 找不到 您請求無法在這個網頁由於Web服務器上的ISAPI和CGI限制列表設置而被提供服務。

我可以強調的是,我對於IIS配置的的n00b ... :)

任何想法?

+0

不要指向mvcapplication \ bin,而是指向mvcapplication。 –

+0

好的。給我一個新的錯誤,我會查找(HTTP錯誤500.21 - 內部服務器錯誤) – bas

+0

您的應用程序池設置爲asp 4.0嗎? –

回答

1

ISAPI和CGI Restictions在IIS:

  • 添加ISAPI DLL的.NET 4 32位
  • 添加ISAPI DLL的.NET 4 64位

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_ISAPI.DLL

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_ISAPI.DLL

它的工作原理。最後!根據this site

感謝Wiktor的

+0

在控制面板的「程序和功能」部分中的「打開或關閉Windows功能」部分中選擇它們會更好嗎?互聯網信息服務 - >萬維網服務 - >應用程序開發功能 – brudert

0

首先配置IIS:

IIS 7.5處理程序在其模塊列表

對於上述問題, 「extensionlessurlhandler-integrated-4.0」 有一個壞模塊 「managedpipelinehandler」,你必須去控制面板>>已安裝的程序和功能>>雙擊它來修復您的.NET Framework。

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

+0

@PeterFoti在我看來,這不是一個鏈接專用的答案。它可能是VLQ,但絕對不是鏈接專用的。 – cybermonkey

0

首先將IIS配置爲 手動配置 打開控制面板,然後單擊程序和功能»打開或關閉Windows功能。 打開Internet信息服務。

在Internet信息服務下,打開以下功能: Web管理工具»IIS 6管理兼容性»IIS元數據庫和IIS 6配置兼容性。

Web管理工具»IIS管理控制檯,IIS管理腳本和工具以及管理服務。

在萬維網服務下,打開以下內容: 應用程序開發功能下的所有功能(服務器端包含除外)。 常見HTTP功能»默認文檔,目錄瀏覽,HTTP錯誤,Http重定向,靜態內容。 安全»基本認證,請求過濾,Windows認證。

在Microsoft .NET Framework 3.5.1下»Windows Communication Foundation HTTP激活。

創建網站後,打開Internet信息服務(IIS)管理器。 展開您的服務器節點。 展開網站節點並點擊您的網站。

在右側的IIS部分中,雙擊認證。 執行以下操作之一:

如果您使用的是窗體身份驗證,請確保已啓用匿名身份驗證和窗體身份驗證,並禁用所有其他身份驗證。

如果您使用基於聲明的身份驗證,請確保只啓用匿名身份驗證並禁用所有其他身份驗證。

再次單擊您的網站並在IIS部分中,雙擊處理程序映射。 確保您已啓用處理程序映射* .SVC和* .xamlx設置爲下列之一的可執行文件路徑:

對於64位操作系統中:%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll 對於32位操作系統:%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll 關閉Internet信息服務(IIS)管理器。

相關問題