访问本地服务

Accessing Local Service

希望能帮到你。

我们有一个 Web 应用程序 (.NET 2.0),其中包含一些自定义代码,用于在上传文件时戳 windows 服务。我们使用以下代码发出命令:

  Dim serviceName As String = "Processor Service 1.0"
  sc = New ServiceController(serviceName)
  sc.ExecuteCommand(200)

运行 此代码在独立应用程序中运行良好,但当 运行 通过网站时会抛出拒绝访问错误。代码在 IIS 6 中运行良好。

我们正在与一个用户一起使用应用程序池,并且在管理员组中。我认为这与 IIS 有关,但现在确定是什么。

希望大家帮帮忙

谢谢

与本地服务交互所需的权限非常高。您的 asp.net 应用可能 运行 匿名(本地帐户 IUSR)或 "application pool identity"。您可以在 IIS(应用程序池)中设置您的应用程序以使用具有更高权限的不同帐户。

在 IIS 管理中,在 "IIS"、"Authentication" 部分下,您需要启用更强的身份验证方法。如果 "Anonymous Authentication" 是唯一启用的,则检查设置 "Edit" 以查看它是 运行ning 作为 IUSR 还是 "Application pool identity"。您可以在此处确定或设置您的 ASP.NET 应用正在使用的帐户(和权限集)。

我觉得我应该强烈警告不要提升 IIS 和匿名用户的权限。这会在您的系统中创建一个非常危险的后门。 bgs264 的建议非常好:制作一个单独的服务(或计划进程)来监视文件上传,或者修改现有服务以使用文件观察器来监视上传的文件。它可以 运行 在更高的权限集下,并且与您的 IIS 更加隔离。授予 IIS 或其应用程序池管理员权限,无异于自找麻烦。