| 发表于:2007-03-31 10:54:10 楼主 |
我用c#写了一个客户端程序,想连接远程的com+组件服务,不知到如何连,那位高人可以给我一些帮助呢? 原来在c++里面调用com+组件,如下: coauthidentity us; us.user =user; us.userlength = wcslen(us.user); us.password = password; us.passwordlength = wcslen(us.password); us.domain=null; us.domainlength=0; us.flags = sec_winnt_auth_identity_unicode; coauthinfo auth; auth.dwauthnsvc = rpc_c_authn_winnt; auth.dwauthzsvc = rpc_c_authz_none; auth.pwszserverprincname = null; auth.dwauthnlevel = pc_c_authz_none; auth.dwimpersonationlevel = rpc_c_imp_level_impersonate; auth.dwcapabilities = eoac_none; auth.pauthidentitydata = &us; serverinfo.pauthinfo=&auth; multi_qi multiqi={&iid_iunknown,null,noerror}; hr=cocreateinstanceex(clsid_dacomsta,null,clsctx_remote_server,&serverinfo,1,&multiqi); 用两个结构体分别传入了用户名,密码,表明为集成windows身份验证,另外一个传入了远程电脑中com+服务的配置,这样将这些信息统一传送给cocreateinstanceex才创建的对象 在c#中,如何将这些信息传送给对方呢,我查了很多资料,但还是没有找到,有说用 activator.createinstance的,但只成功调用了本地com,也有提示说在自动生成的 assemblyinfo.cs 文件中添加 [assembly: applicationaccesscontrol ( accesscheckslevel = accesschecksleveloption.applicationcomponent, authentication = authenticationoption.none, impersonationlevel = impersonationleveloption.impersonate ) ] 这个,只提供了相应服务的配置,但如何将用户名,密码传送给创建函数?(集成windows身份验证)我一直没有查到,希望各位大侠能帮我度此难关啊!!! 非常感谢大家的帮助! |
|
|
|
|