但是,在VC下编的MSMQ程序为什么可以不用在同一个域内就可以访问呢?

解决方案 »

  1.   

    如果在VC下可以,那么在C#中一样可以,
    如果不可以,考虑一下你的用户是不是没有访问另一台MSMQ的权限。
      

  2.   

    两台机器用的是同一个用户名。VC的程序可以访问,C#的不行。报告的错误为:
    The application attempted to perofrm an operation not allowed by the security policy. The operation required the SecurityException. To grant this application this application the required permission please contact your system administrator, or use the Microsoft .NET security policy administration tool.
      

  3.   

    刚才那个错是因为这直接运行在别台机器上的程序出现的。
    现在我把程序拷贝到本机上。错误信息已经改变:
    An unhandled exception has occurred in your application.
    A workgroup installation computer does not support the operation.难道.NET,必须要求是域服务器,或者在域内才可以使用吗?
      

  4.   

    path这样写试试FormatName:DIRECT=TCP:200.200.200.189\\aa.comcom.net\\chatchat
      

  5.   

    搞错了,是这样的mq.Path = "FormatName:DIRECT=TCP:aa.comcom.net\\chatchat";
      

  6.   

    看一下 C#的安全方面的书,如《C#高级编程》里有,C#出于安全考虑一台机器访问另一台机器时,访问程序总有一个在目标机器上的权限,第一个异常就是因为你没有这样的权限造成的,解决办法是:给予程序某个权限,并在目标机器上开放这一权限,具体做法看书,我记不请了;
    第二个异常造成的情况很多我感觉,有没有DNS服务器建议使用IP地址,能不能访问DNS服务器?帮你UP
      

  7.   

    在 listart(开始)  的提示下, 使用了:
    mq.Path = "FormatName:DIRECT=OS:aa.comcom.net\\chatchat";好用了。谢谢。还有个问题,我找了好久的文档也没有说这个mq.Path的格式说明,不知哪位有这方面的资料么?