1 用vs.net debug 的时候就会自动注册。我会在调试好后,把注册的给删了(通常会有很多个一样的),再手工注册。自己注册比较放心 :)
2 激活,先不要这句,注册后,在 com+目录 中修改!

解决方案 »

  1.   

    jhnhu(jhnhu) :高手来了!
     
    1.vs.net debug 的时候就会自动注册?
    没有啊,我真的试了很多次没有:(  我是正式版中文dotnet.
    还有,我用客户段调试她的时候,在她里面的断点老是执行不到:(2.我意思是说为什么ActivationOption.Server在web form中正常,在win form中却出错?3.顺便问问:dotnet beta2版的引用web services对话矿里有个"浏览本机所有web services"的项.在正式版中却找不到?
      

  2.   

    1.客户端调试??
    说说你的程序的结构、调试方法!2.COM+应该做成一个单独的DLL,不应该出现在win form,web form有界面的代码中!
    ActivationOption:
    Specifies whether components in the assembly run in the creator's process or in a system process.
    激活方式,具体性能上的区别我不太清楚。是一个设置,可以在DLL中标明,也可以在windows的组件服务里设置!3.正式版是没有的,的确不太方便。
      

  3.   

    jhnhu(jhnhu):
    1.我建了个c#->类库.派生自servicedcomponent(就是我上面贴的那个),添加snk,编译,手工注册,ok。我添加一个用于测试的“asp.net web 应用程序”,写好代码后设为启动工程,按"F5"......
    每次改了component的代码都要手工注册才行:(2.我的win form,web form是指客户端形式:)3.还有,您以前说过“因为用了remoting,client的dll里的class得 继承 MarshalByRefObject”
    怎么才算用了remoting呢?
      

  4.   

    1.这样的步骤,没有问题
    vs.net debug的时候的确会帮你注册的,而且回越注册越多。所以调试完后,把vs.net注册的都删了,自己再注册一次,保证唯一的注册是正确的!2.3.
    a. asp.net + COM+ + DB
    因为asp.net和com+都在服务器上,所以不比考虑 远程调用的情况
    b. win form + COM+ + DB
    这种方法比较复杂,你先做本机的调用,再做成remoting远程的调用
    再成com+(servicedcomponent)。
    之后,再问我第三个问题!
      

  5.   

    1。调试成功后,我在“组件服务”把我刚才手工注册的删了,然后回到dotnet里再按f5调试(我这回什么也没改啊),就出错了:“/WA3”应用程序中的服务器错误。
    对注册表项 HKEY_CLASSES_ROOT\CL1.mydata 的访问被拒绝。组件服务里没看到我的组件!于是我手工注册(RegSvcs.exe),然后回到dotnet里再按f5调试,又正常了。越注册越多的情况从没见过。我朋友的机也是这样。是不是要设一个属性才能让它自动注册?2。我好象有点明白了。c/s的才要用remoting,b/s不用,对吗?
      

  6.   

    关于越注册越多,可以在代码里面用[guidattribute .... ]来指定iid和csid
    这样应该就可以避免注册多个object和interface了
      

  7.   

    1.注册表拒绝访问?!
    和你的用户组有关系吗?2.remoting是 .net下的DCOM,就是调用远程机器上的组件,相当于vb6的CreateObject(object,"\\server")。
    与结构没有必定的关系。b/s结构,可能DB COM+ ASP.NET在三台不同的机器上,这样asp.net调用COM+也要用remoting;c/s结构,用socket处理自己格式的信息,就不用remoting了!
      

  8.   

    To jhnhu(jhnhu):
    我是administrator登陆呀。而且手工注册没问题啊。
    remoting.....看来要找书看看了。To ripper(rIPPER):
    我都不能自动注册,哪来的越注册越多:)
    要指定什么属性才会自动注册呀!搞不掂算了,反正我已经绝望了。谢谢两位。明天结贴。
      

  9.   

    你试试在每个方法前 加上[AotoComplete]
      

  10.   

    [AotoComplete]只是设置事务自动而已。
    我把aspnet加到administrator组都不行:(
    还是没有权限写注册表。
      

  11.   

    [AotoComplete]只是设置事务自动而已。
    我把aspnet加到administrator组都不行:(
    还是没有权限写注册表。
      

  12.   

    >>[AotoComplete]只是设置事务自动而已。<<
    这个我知道,我一般都有加的,看你的代码没有,提一下而已!com+的dll经常会被 dllhost 给pooling了,运行一次后,修改、编译、写dll的时候,会说 此dll文件不能操作 !得把dllhost给kill了,或者注销一下!(another tip. not related to your question)
      

  13.   

    jhnhu(jhnhu):
    我知道,出现“此dll文件不能操作 !”的时候确实是这样。
    可我出现的是“对注册表项 HKEY_CLASSES_ROOT\CL1.mydata 的访问被拒绝。”也就是无法自动注册。还提示"aspnet"没有足够的权限。我看了我的aspnet是user组的,你的是什么组呢?(我改为administrator组都不行)
      

  14.   

    组,没有特别的设置过,都是默认的!
    Debugger Users
    VS Developers
    再试试这两个组!