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异常:访问被拒绝?
请指教,我该怎么办?
当我的.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 管理>池应用程序中>高级设置>标识更改应用程序池标识为自定义帐户并设置管理员用户