如何解决如何使用ASP.NET在Windows 2008上执行EXE文件
|| 如何使用ASP.NET和IIS7在Windows 2008上执行EXE文件?我试图在下面运行代码,但似乎不起作用。该代码已执行,没有任何错误,但是在“进程”列表中看不到“记事本”。如果我使用ASP.NET开发人员服务器,但不使用IIS7,则一切正常。string enginePath = \"notepad\";
var password = new System.Security.SecureString();
foreach (char character in ConfigurationManager.AppSettings[\"Credentials\"])
password.AppendChar(character);
var p = new Process
{
StartInfo =
{
FileName = enginePath,UseShellExecute = false,}
};
p.StartInfo.UserName = \"Administrator\";
p.StartInfo.Password = password;
p.Start();
解决方法
为了响应安全性考虑,Microsoft不断增加IIS进程的隔离度,以使您无法(或者我没有找到一种解决方法,可以让您...)直接调用IIS应用程序域之外的任何内容。您可以构建Windows服务,该服务可以使用WCF通道间接跨越该边界。该服务(配置为允许与桌面交互)可以反过来启动您的Notepad.exe。
实现它有点麻烦,我当然会感兴趣的是看看别人是否有更好的答案。
,我删除了下面的行,它突然开始工作。我无法解释如何在IIS7帐户下运行exe,但它正在运行。
p.StartInfo.UserName = \"Administrator\";
p.StartInfo.Password = password;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。