2011-09-28 100 views
0

我目前正在將MVC 3 Web App部署到IIS 7服務器。當我從Visual Studio開發Web應用程序並通過開發服務器進行部署時,Web應用程序使用與本地服務器交互的自定義​​.dll沒有問題。但是,當我部署到IIS 7時,相同的DLL無法通過dll從服務器獲取數據。我假設這是與權限有關的。我已經指派AppPool使用我創建的帳戶,該帳戶是本地「管理員」帳戶的成員。沒有成功。我的帳戶是該組的成員。我注意到的一個怪癖是當我試圖修改%WINDIR%\ inetsvr文件夾中的安全設置時,該文件夾包含爲IIS運行Web服務器的進程,我無法修改這些設置,即使我是「管理員」帳戶。對此感到困惑,並且一直在試圖找出這個問題。任何幫助,將不勝感激。IIS 7 w/MVC 3權限問題

+0

這個DLL試圖在服務器上做什麼?訪問一些文件? –

+0

它是用於多維數據庫包的服務器服務的API。我已經使用進程資源管理器來驗證服務器(包括開發和IIS)在GAC中獲取相同的dll實例。 – M4V3R1CK

+0

否輸入密鑰使用習慣? – tugberk

回答

0

您的網絡應用程序的關聯用戶絕對不需要獲得%WINDIR%\inetsvr的訪問權限。

假設你的網站上C:\interpub\myWebsite.Net 4.0運行,你的web應用程序的用戶需要有至少閱讀器訪問下列文件夾:

  • C:\ interpub \ myWebsite
  • %WINDIR%\ Microsoft.NET \ FrameWork的\ v4.0.30319 \臨時ASP.NET文件

如果不授予這些訪問這些文件夾,然後它很可能你的應用不能運行。

另外,請使用生產服務器中的瀏覽器訪問您的網站,並查看詳細的IIS錯誤。這可能有助於縮小問題範圍。

注意

此外,要確保你的應用程序池是整合模式,因爲ASP.NET MVC 將無法​​正常在經典模式,如果你有擴展名 網址。很有可能你會得到404。

+0

我的應用似乎運行良好,除了一個功能部分不起作用。它絕對直接連接到我在.NET 2.0中創建的dll,該dll構建於基於2.0的API上。出於某種原因,這個dll在開發服務器上執行功能,但是當我從IIS運行它時,dll不會按預期執行它的工作。我試圖在問題上簽名dll,但仍然沒有成功。但就上述問題而言,我從IIS運行的站點沒有問題,它主要與一個DLL有關。 – M4V3R1CK

+0

也沒有錯誤報告。 – M4V3R1CK