环境如下
A机器为工控机 里面有wincc西门子数据库以及OPC数据B机器为应用程序服务器 里面有IIS 以及程序 数据库 也就是发布用的现在遇到这样的问题 OPC通讯 通是通了 我可以读取到数据了但是  如果 我写一个winfrom 可以读取,写一个控制台可以读取,把代码写到aspx.cs里(VS打开)以上三种种情况 都可以读取到OPC的数据但是 发布到IIS 就有问题了.如果是在aspx.cs里的  是拒绝访问aspx.cs里 用进程启动winfrom或者控制台 是拒绝访问sql里的xp_cmdshell执行exe 拒绝访问....什么权限asp.net netservice everyone administrator在A,B电脑都加了..就是不行...不知道有没有遇到过的???

解决方案 »

  1.   

    最稳妥的方式,是你把业务服务器作为一个windows service(前期就可以用你的console程序)来设计。而asp.net程序不过是一个前端客户端程序而已。许多人以为asp.net程序就是服务器程序了,这有误区!
      

  2.   

    如果是我来干,多半我会用另外的机器,或者在公司的完整系统,直接GOHST,
    然后VM虚拟机中安装,然后再现场调试,
    因为很多时候,到现场,就会忽略一些部署的条件
      

  3.   

    有可能你的opc server使用消息通讯,并且不能跨用户账户,建议你部署成自托管的wcf服务,再和asp.net程序通讯。
      

  4.   

    如果vs能访问,证明只是iis权限不足。只要iis上的应用程序改成 LocalSystem就可以了。
      

  5.   

    在IIS上把执行权限改为可执行程序
      

  6.   

    明显权限问题啊。
    还有
    xp_cmdshell确认你打开了吗,EXEC sp_configure 'show advanced options', 1;RECONFIGURE;
     
    EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
      

  7.   

    出差回来 一个一个回复.. 首先是
    1#:没有正面回答我的问题,,对你我就不说了 我看过你回复的N个帖子,一直老套路.
    2#:顶我谢谢
    3#:方法不错,可惜环境是工控机 有PIC插槽的 有设备支持,无法预测问题.
    4#:你的方法感觉可以,只是不会.我只会增删改查..
    5#:
    6#:一起说,你们的方法 我都测试了,就是拒绝访问.什么权限这那的 都测试了..最终还是不行
    7#:你让我怎么说你好呢? 谁都知道是权限问题,,但是问题是哪的权限?
       而且我说的 我cmd_shell启动了exe了..是exe报错拒绝访问,,直接运行是没问题的不知道各位大神 还有什么高见.现在这个问题还没有得到"正式"的解决..
      

  8.   


    你照这个配置一下iis
    http://forums.asp.net/t/1757464.aspx/1
      

  9.   

    web.config impersonate 试过吗
      

  10.   

    基于9#的回答,,首先谢谢你能给我解释那个东西..臣无能,才疏学浅,本人刚毕业,只会增删改查,不会理论,也不懂理论,我现在遇到问题,是要问题的解决方案,不是要找源头..而且 我感觉 我的问题很清晰了吧,.就是IIS发布一个访问别的电脑的OPC拒绝访问.什么权限都给了..就这个问题而已..而且 个人愚见:  理论 真的很重要么?? 一个NB的程序员 不在在于他有多么高深的技术,而是为公司创造多少价值..  仅此而已
      

  11.   

    通信代码是否调用了com之类的东西?