我想在客户端调用服务器端的应用程序。使用了Process类,在VS中可以成功运行,在iis 中无法运行。
关于这个问题,我在论坛上找了很多帖子,大家都有相同的疑惑,但是没有一个答案能真正解决这个问题。到底是权限问题还是什么?
如果是,应该如何设置权限?
或者,怎样通过activeX来实现调用???
求大虾详解!!!!!!!!!!!!

解决方案 »

  1.   

    什么异常?vs中运行asp.net app的用户是当前登录用户,很有可能是管理员。
    IIS中是运行asp.net app的用户是network service(IIS6)或者ASPNET(IIS5).权限更小些。但是可以用impersonate设置成其他用户权限: <IDENTITY impersonate="true" userName="accountname" password="password" />
      

  2.   

    你在IIS上的站点不是有一个应用程序池么,在对应的应用程序池里面有一个用户的配置,将这个站点的执行用户改为一个有权限执行Process()的用户就可以了。
    另外,一般情况下不建议使用impersonate="true",尤其是在非指明用户和Windows身份认证的情况下,这种情况如果出现跨机器认证,就有可能引发KERBOS的问题,这个Kerbos是坑爹的玩意,配死人的
      

  3.   

    你先搞清楚,你是要运行服务器端的exe还是客户端的?
    运行服务器端的,Process类是可以,在网站的应用程序池里面的标识中,选择本地系统帐号或者输入管理员身份飞账户运行客户端的,才使用ActiveX或者浏览器自定义协议实现
      

  4.   


    我按您的方法设置,显示的是:配置错误。
    未能从配置文件中指定的凭据创建 Windows 用户标记。源自操作系统的错误“登录失败: 未知的用户名或错误密码。
    这是什么问题呢?
      

  5.   

    我是要运行服务器端的应用程序。
    您说的是改成:local system 吗?我现在就是啊,但是还是不能运行。
      

  6.   

    你的IIS中的网站是匿名来访问的,用个匿名的用户,你需要给你需要启动的程序exe,附上这个匿名用户的权限这个匿名叫什么名称????http://technet.microsoft.com/zh-cn/library/cc770966(v=ws.10).aspx