C#调用exe文件,IIS发布后无法掉用本地exe程序的解决方法

webservice发布到IIS后process類无法調用本地exe程序的解决方法

修改C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG目錄下的machine.config  文件

 

将netframework安装目录下config/machine.config   文件中processmodel节点的username= "machine "   修改为   username= "system ",將aspnet設置為系統權限。

参考网址:

ASP.NET 中的處理序及要求識別

http://support.microsoft.com/kb/317012/zh-tw

--------------------------------------------------------------------------------------------------------------------------------------------


这位楼主的问题,我也遇到了,但是我按照他那样操作并没有解决问题,弄了好久终于找到解决方案了,

方案如下:IIS管理器——应用程序池——设置应用程序池默认设置——进程模型——标识,这个标识里面有内置账户和自定义账户,我设置自定义账户,然后填上Administration(必须是管理员账户或者拥有管理员权限的账户)和密码。
PS:我的系统是windows7的系统,其他应该也差不多,希望能帮到各位。出现这个问题的原因就是IIS没有调用exe的权限,所以给它最高权限就可以了。

我做的这个系统是想通过C#调用plink.exe这个软件连接linux机器,并管理linux机器(增加用户,修改权限什么的),然后通过给plink.exe传参来达到这些增删改用户以及权限,下面是我的代码:
using System.IO; //StreamWriter
using System.Diagnostics;
using System.ComponentModel;

 

                            ProcessStartInfo pInfo = new ProcessStartInfo();
                              pInfo.Arguments = "-ssh wp@192.168.1.188 -pw wp";
                              pInfo.FileName = Server.MapPath("~/plink.exe");
                              Process p = new Process();
                              p.StartInfo = pInfo;
                              p.StartInfo.UseShellExecute = false;
                              p.StartInfo.RedirectStandardInput = true;
                              p.StartInfo.RedirectStandardOutput = true;
                              p.StartInfo.CreateNoWindow = true;
                              p.Start();

                              StreamWriter myStreamWriter = p.StandardInput;
                              myStreamWriter.WriteLine("sudo useradd -d /home/wp-s /bin/bash -m wp");
                              myStreamWriter.WriteLine("sudo su root -c 'echo \"wp:wp\" | chpasswd'");
                           
                              myStreamWriter.WriteLine("exit");
                              StreamReader ss = p.StandardOutput;

                              pand = ss.ReadLine().ToString();
                              p.StandardInput.Flush();
                              p.WaitForExit();
                              p.Close();
如果以上设置还是不管用,请继续设置:

计算机 ——管理——服务——IIS Admin Service ——属性——登陆——允许服务与桌面交互(勾上)

打开IIS管理器:

IIS身份验证——匿名身份验证——启用

.NET 信任级别 ——Full internal ——应用


网站——绑定——添加——IP填上本机IP


参考连接:
http://social.msdn.microsoft.com/Forums/zh-CN/csharpgeneral/thread/c14d5871-28c9-4bfc-a56d-d3d3a50395f4
http://support.microsoft.com/kb/317012/zh-cn


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值