System.ComponentModel.Win32异常:访问被拒绝...错误

本文关键字:拒绝 错误 访问 ComponentModel Win32 异常 System | 更新日期: 2023-09-27 18:18:52

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

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

它在本地运行得很好,但是Web服务器上的Web给了我一个错误,例如

System.ComponentModel.Win32异常:访问被拒绝?

请指教,我该怎么办?

System.ComponentModel.Win32异常:访问被拒绝...错误

当我的.NET Target Framework设置为4.5.2时,我遇到了这个问题。我通过将目标框架版本更改为 4.5 来修复它。若要使用 Visual Studio 2015 执行此操作,请打开"解决方案资源管理器",右键单击解决方案,然后单击"属性"。"目标框架"应设置为".NET Framework 4.5"。此外,如果以前使用 4.5 以外的目标框架进行构建,则 web.config 中可能有一个<compiler>部分,这可能会在生成时引发错误。只需删除此部分即可解决问题。删除它应该不会引起任何问题。

在这里写了一篇关于这个的简短文章,还有其他一些东西可以尝试,这些事情对我不起作用,但可能对你有用。

另请查看此堆栈溢出答案,该答案也帮助了许多人解决此错误!

可能是你的SQL服务器关闭了在服务中签入并启动它

我的问题用这个解决

在 IIS 管理>池应用程序>高级设置>标识中更改为自定义帐户并设置管理员用户

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

或者你可以从命令行完成:

sc config ServiceName obj= Domain'user password= pass

请注意obj=Domain'user之间的空格,它不是拼写错误。这是必需的。password=也是如此.

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

我在从本地 IIS 运行我的网站时遇到了同样的问题,在花了一些时间阅读项目属性后,发现对项目属性的某些更改没有保存......

保存后,错误就消失了...

当我在 Visual Studio 2017 中工作时,我在 MVC 项目中使用 dotNet 框架 4.5 时遇到了此错误......

如果您遇到此异常,则可能您没有系统的管理权限,因此请咨询您的管理员并请求权限。如果您具有管理员权限,请打开您的IDE(例如,以管理员身份的Visual Studio(。如果您尝试访问 32 位配置系统的进程,但您的系统具有 64 位配置,则也可能出现此异常。

我正在使用.Net 4.5.2和IIS 8.5.9

在 IIS 管理>池应用程序中>高级设置>标识更改应用程序池标识为自定义帐户并设置管理员用户