我在C#里建了一个WEB APPLICATION,通过页面上的一个BUTTON用PROCESS.START来执行服务器上的一个程序。目的在于在远程使服务器上某个程序启动起来。可程序执行后,在服务器上的任务管理器里看到这个程序的进程已经启动了,可程序的界面并没有出来(我已经设过PROCESSINFO的窗体了:NORMAL),并且这个程序中的相应功能也并没有跑起来。在这里找了很多相关的帖子,可都没看到相应的解决方法。有人说可能是权限问题~如有人知道解决方法请赐教,并且请尽量叙述的详细一些,谢谢!

解决方案 »

  1.   

    我不認爲這是個安全的行爲,理論上,應該不大可能實現吧,如果誰的web程序都可以調用可執行程序,那不是亂套了?
      

  2.   

    我启动的是CMD、NotePad之类的,难道这些程序不成熟?关键是.NET如果权限不够,为什么又能启动这些PROCESS呢?我的初衷是想在服务器上运行一个BAT而已,由于公司网络存在多个网关,所以不能使用ROMOTING,并且牵涉到SECURITY。我想在服务器上架一个ASPX,让用户直接在WEB上启动BAT。可这个问题实在是困扰了我很久,请大家帮忙想想办法吧~
      

  3.   

    因为2000或XP基本是基于NTFS分区的.
    操作系统是为每一个程序或文件夹赋予权限.
    你把要运行的程序安全权限更改一下,你再试一试.
      

  4.   

    正常,因为你的ASP.NET是运行在一个没有界面的用户的进程上的,一般是NETWORK SERVICE,所以它所启动的程序也不会出现界面,不能与shell交互……要解决这个问题,必须指定用户启动……其实想想就知道,服务器上没有任何用户登陆的时候,网站照样可以用……
      

  5.   

    把调用的程序赋给Asp.NET足够的权限。
      

  6.   

    那个程序所在目录的ASP.NET和EVERYONE用户权限都看到最大了,还是只运行PROCESS,没运行程序那个郁闷啊~
    看来只有改日再开一贴求教了