我有一个 asp.net mvc 4 应用程序,它具有对控制台应用程序的 Process.Start() 调用(用 C++ 编写)。
问题是控制台应用程序不能从 asp.net 应用程序正确运行(它从站点生成图像,并且图像全是白色的)。
当我从控制台应用程序使用相同的调用时,它可以完美运行。
在我看来,这应该是权限问题。
我不确定 ASP.NET 是否从同一个用户运行,但我在这里看到它在我的用户帐户(管理员)下运行,所以这真的很奇怪。
我尝试过的事情:
process.StartInfo.UseShellExecute = true/false。
process.StartInfo.UserName 和管理员用户的密码。
编辑 C:\Users\MyUser\Documents\IISExpress\config\applicationhost.config 中的 IIS 配置文件:
<applicationPoolDefaults managedRuntimeLoader="v4.0" > <processModel/> </applicationPoolDefaults>
至:
<applicationPoolDefaults managedRuntimeLoader="v4.0" > <processModel userName="administrator username" password="administrator password"/> </applicationPoolDefaults>
因此,如果匿名请求将以进程的身份执行,并且进程没有权限,则将使用显式用户进行匿名身份验证。取自这里
谢谢您的帮助!