System.ComponentModel.Win32Exception:访问被拒绝.....错误

时间:2014-08-21 05:57:57

标签: c#

我想在我们的网站上打开一个文档文件。为此我写了下面的代码。

try
{
      Process proc = new Process();
      proc.StartInfo = new ProcessStartInfo(Server.MapPath("~/Quatation/PREMIUMQUOTATION1.doc"));
      proc.Start();
}
catch (WebException we)
{

}

它在本地运行非常好,但Web服务器上的web它给我一个错误,如

  

System.ComponentModel.Win32Exception:拒绝访问?

请建议,我该怎么办?

8 个答案:

答案 0 :(得分:4)

当我的.NET目标框架设置为4.5.2时,我遇到了这个问题。我通过将目标框架版本更改为4.5来修复它。要使用Visual Studio 2015执行此操作,请打开解决方案资源管理器,右键单击解决方案并单击“属性”。 “目标框架”应设置为“.NET Framework 4.5”。此外,如果您之前使用4.5之外的目标框架构建,则web.config中可能有docFrag部分,这可能会在您构建时出错。只需删除此部分即可解决此问题。删除它不应该导致任何问题。

我写了一篇关于这个here的简短文章,其中还有一些其他的尝试对我不起作用但可能适合你。

同时查看This Stack Overflow answer,这也帮助了很多人发现此错误!

答案 1 :(得分:2)

可能是您的SQL服务器已关闭 检查服务并启动它

答案 2 :(得分:1)

听起来您没有更改服务登录用户。您可以通过右键单击服务从服务控制管理器执行此操作,然后转到“登录”选项卡。 然后将用户添加为服务登录用户

或者您可以从命令行执行此操作:

sc config ServiceName obj= Domain\user password= pass

请注意obj=Domain\user之间的空格,这不是拼写错误。这是必需的。 password=也一样。

答案 3 :(得分:0)

转到Windows资源管理器并右键单击文件夹“〜/ Quatation /”。选择属性并选择“安全”选项卡以授予权限。如果运行Web应用程序的应用程序池使用域帐户,则需要授予该特定域帐户权限。

答案 4 :(得分:0)

花了一些时间从项目IIS运行我的网站时,我遇到了同样的问题,发现对项目属性的某些更改未保存...

保存后,错误消失了……

我在Visual Studio 2017中使用MVC项目中的dotNet framework 4.5时遇到此错误...

答案 5 :(得分:0)

我的问题可以解决

在IIS管理->池应用程序->高级设置->身份中 更改为“自定义帐户”并设置“管理员用户”

答案 6 :(得分:0)

如果您遇到此异常,则可能您没有对系统的管理权限,因此请与管理员联系并索取权限。如果您确实具有管理员权限,请打开您的IDE(例如,以Visual Studio作为Administrator)。如果您尝试访问32位配置系统的进程,但系统具有64位配置,则也可能会遇到此异常。

答案 7 :(得分:0)

<块引用>

我使用的是 .Net 4.5.2 和 IIS 8.5.9

在IIS Manage->Pool Application->Advance Setting->Identity change ApplicationPoolIdentity 为自定义帐户并设置管理员用户