Process myProcess = new Process();
            
myProcess.StartInfo.FileName = @"C:\dd.doc"; 
myProcess.StartInfo.CreateNoWindow = true;
myProcess.StartInfo.Verb = "Print";
myProcess.Start();myProcess.Close();
以上的代码在程序中启动一个进程,完成dd.doc的打印(默认是调用word),然后关闭word。
在winform中可以正常运行。但是在webform中运行错误,提示 “系统找不到指定的文件”有时候又没有反映,跟踪进去的时候在myProcess.Start();这一行停止了响应。
感觉好象和asp.net的权限设置有关,是不是没有权限启动另一个进程呢。有没有什么解决的方法呢。
望各位高手指点。

解决方案 »

  1.   

    将iss的权限设置到最大就没问题了.
    但这样就不安全了.你自己衡量吧.
      

  2.   

    因为IIS是B/S结构,所以,你打印文档到底是你本地打印还是让服务器端打印?所以,这种写法是不对的。这与Win Form是不同的。
    如果打印的话,必须用Script来作。
      

  3.   

    是不是aspnet用户无权访问文件
      

  4.   

    首先确保你有足够的权限,开始-运行:dcomcnfg
    在应用程序列表框中选择“Microsoft Excel 应用程序”->
    “安全性”->选择“使用自定义访问权限”,点击“编辑”按钮
    添加本地“ASPNET”用户,权限为“允许访问
      

  5.   

    我是想在客户端在上传一个文件的时候,将此文件在服务器端打印出来。
    我实验发现文件是可以访问的,我用StreameRader可以读取文件的内容。但以上的代码还是不能成功运行。
    用一个文本文件dd.txt代替dd.doc,结果代码可以执行下去,在任务管理器中也可以发现 notepad进程,但打印还是不行,而且notepad进程不会结束,强行结束任务时提示拒绝访问。