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.正式版是没有的,的确不太方便。
jhnhu(jhnhu): 1.我建了个c#->类库.派生自servicedcomponent(就是我上面贴的那个),添加snk,编译,手工注册,ok。我添加一个用于测试的“asp.net web 应用程序”,写好代码后设为启动工程,按"F5"...... 每次改了component的代码都要手工注册才行:(2.我的win form,web form是指客户端形式:)3.还有,您以前说过“因为用了remoting,client的dll里的class得 继承 MarshalByRefObject” 怎么才算用了remoting呢?
1.这样的步骤,没有问题 vs.net debug的时候的确会帮你注册的,而且回越注册越多。所以调试完后,把vs.net注册的都删了,自己再注册一次,保证唯一的注册是正确的!2.3. a. asp.net + COM+ + DB 因为asp.net和com+都在服务器上,所以不比考虑 远程调用的情况 b. win form + COM+ + DB 这种方法比较复杂,你先做本机的调用,再做成remoting远程的调用 再成com+(servicedcomponent)。 之后,再问我第三个问题!
>>[AotoComplete]只是设置事务自动而已。<< 这个我知道,我一般都有加的,看你的代码没有,提一下而已!com+的dll经常会被 dllhost 给pooling了,运行一次后,修改、编译、写dll的时候,会说 此dll文件不能操作 !得把dllhost给kill了,或者注销一下!(another tip. not related to your question)
1.vs.net debug 的时候就会自动注册?
没有啊,我真的试了很多次没有:( 我是正式版中文dotnet.
还有,我用客户段调试她的时候,在她里面的断点老是执行不到:(2.我意思是说为什么ActivationOption.Server在web form中正常,在win form中却出错?3.顺便问问:dotnet beta2版的引用web services对话矿里有个"浏览本机所有web services"的项.在正式版中却找不到?
说说你的程序的结构、调试方法!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.正式版是没有的,的确不太方便。
1.我建了个c#->类库.派生自servicedcomponent(就是我上面贴的那个),添加snk,编译,手工注册,ok。我添加一个用于测试的“asp.net web 应用程序”,写好代码后设为启动工程,按"F5"......
每次改了component的代码都要手工注册才行:(2.我的win form,web form是指客户端形式:)3.还有,您以前说过“因为用了remoting,client的dll里的class得 继承 MarshalByRefObject”
怎么才算用了remoting呢?
vs.net debug的时候的确会帮你注册的,而且回越注册越多。所以调试完后,把vs.net注册的都删了,自己再注册一次,保证唯一的注册是正确的!2.3.
a. asp.net + COM+ + DB
因为asp.net和com+都在服务器上,所以不比考虑 远程调用的情况
b. win form + COM+ + DB
这种方法比较复杂,你先做本机的调用,再做成remoting远程的调用
再成com+(servicedcomponent)。
之后,再问我第三个问题!
对注册表项 HKEY_CLASSES_ROOT\CL1.mydata 的访问被拒绝。组件服务里没看到我的组件!于是我手工注册(RegSvcs.exe),然后回到dotnet里再按f5调试,又正常了。越注册越多的情况从没见过。我朋友的机也是这样。是不是要设一个属性才能让它自动注册?2。我好象有点明白了。c/s的才要用remoting,b/s不用,对吗?
这样应该就可以避免注册多个object和interface了
和你的用户组有关系吗?2.remoting是 .net下的DCOM,就是调用远程机器上的组件,相当于vb6的CreateObject(object,"\\server")。
与结构没有必定的关系。b/s结构,可能DB COM+ ASP.NET在三台不同的机器上,这样asp.net调用COM+也要用remoting;c/s结构,用socket处理自己格式的信息,就不用remoting了!
我是administrator登陆呀。而且手工注册没问题啊。
remoting.....看来要找书看看了。To ripper(rIPPER):
我都不能自动注册,哪来的越注册越多:)
要指定什么属性才会自动注册呀!搞不掂算了,反正我已经绝望了。谢谢两位。明天结贴。
我把aspnet加到administrator组都不行:(
还是没有权限写注册表。
我把aspnet加到administrator组都不行:(
还是没有权限写注册表。
这个我知道,我一般都有加的,看你的代码没有,提一下而已!com+的dll经常会被 dllhost 给pooling了,运行一次后,修改、编译、写dll的时候,会说 此dll文件不能操作 !得把dllhost给kill了,或者注销一下!(another tip. not related to your question)
我知道,出现“此dll文件不能操作 !”的时候确实是这样。
可我出现的是“对注册表项 HKEY_CLASSES_ROOT\CL1.mydata 的访问被拒绝。”也就是无法自动注册。还提示"aspnet"没有足够的权限。我看了我的aspnet是user组的,你的是什么组呢?(我改为administrator组都不行)
Debugger Users
VS Developers
再试试这两个组!