苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3338|回复: 1

[其他] 部署在IIS上WCF服务执行服务端程序问题

[复制链接]
发表于 2013-7-14 21:40:28 | 显示全部楼层 |阅读模式
WCF部署在IIS8.0上 其中一个服务是远程执行服务器上命令,服务器端的代码如下:
public string RunCommand(String cmd)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";

p.StartInfo.Arguments = "/c " + cmd;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
p.Start();  p.StandardInput.WriteLine("exit");return p.StandardOutput.ReadToEnd();            }也就是远程触发执行RunCommand()这个函数。
在我们的环境里,这里执行的是打开一个excel文件,输入的参数如:C:\Do_WORK.xls
Investigation Result:
IIS会产生一个IIS Worker Process的后台进程,通过这个后台进程来管理通过RunCommand() Call的excel进程,但是这样产生的excel进程是run在后台的,就不能执行Do_MTG.xls里面的vba程序。
问题:
如何才能让Do_WORK.xls像前台click打开一样打开并执行???


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-7-15 08:47:11 | 显示全部楼层
打开直接这样就行了吧,不需要那么麻烦的
[code=csharp]   /// <summary>
        /// 打开指定的程序或者是文件
        /// </summary>
        /// <param name="path">路径</param>
        public static void OpenIe(string path)
        {
            ProcessStartInfo startInfo = new ProcessStartInfo(path);
            Process process1 = new Process();
            process1.StartInfo = startInfo;
            process1.Start();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            OpenIe(@"C:\Program Files (x86)\Microsoft Visual SourceSafe\ssexp.exe");

        }[/code]

下面再提供一个打开浏览器的方法
http://www.sufeinet.com/forum.php?mod=viewthread&tid=3083
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-27 02:38

© 2014-2021

快速回复 返回顶部 返回列表