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

C# System.ComponentModel.Win32异常:访问被拒绝。。。。。错误,c#,C#,我想在我们的网站上打开一个文档文件。为此,我编写了以下代码 try { Process proc = new Process(); proc.StartInfo = new ProcessStartInfo(Server.MapPath("~/Quatation/PREMIUMQUOTATION1.doc")); proc.Start(); } catch (WebException we) { } 它在本地运行得很好,但在web服务器上运行时它会给我一个

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

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

}
它在本地运行得很好,但在web服务器上运行时它会给我一个错误,比如

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


请建议,我该怎么办?

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

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

也可以从命令行执行此操作:

sc config ServiceName obj= Domain\user password= pass

注意
obj=
Domain\user
之间的空格,它不是打字错误。这是必需的。同样的
password=
当.NET目标框架设置为4.5.2时,我遇到了这个问题。我通过将目标框架版本更改为4.5来修复它。要使用Visual Studio 2015执行此操作,请打开解决方案资源管理器,右键单击解决方案并单击属性。“目标框架”应设置为“.NET Framework 4.5”。此外,如果以前使用4.5以外的目标框架构建,则web.config中可能有一个
部分,这可能会在构建时引发错误。只需删除此部分即可解决此问题。移除它不应导致任何问题

我写了一篇关于这一点的短文,其中有一些其他的东西需要尝试,这些东西对我来说不管用,但可能对你管用


同时也检查一下,这也帮助了许多人与这个错误

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

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

一旦保存,错误就消失了


我在visual studio 2017的MVC项目中使用dotNet framework 4.5时遇到了这个错误…

我的问题用这个解决了

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

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

我正在使用.Net 4.5.2和IIS 8.5.9

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


确保您有足够的权限访问该特定文档您需要为该文档分配权限。请查看此处,可能的答案是:[System.ComponentModel.Win32Exception:访问被拒绝错误][1][1]:对于权限访问@rahul,我应该怎么做:-如何为文档分配权限这是因为您在本地运行的帐户可能具有管理员访问权限,因此不会抱怨访问权限。在服务器上部署时,它将在IIS用户下运行,该用户没有权限。