2011-09-28 70 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