繁体   English   中英

asp.net中的模拟不与com对象共享

[英]Impersonation in asp.net not shared with com object

因此,我有一个ASP DOT NET Web服务,该服务需要模拟Windows Authenticated用户。 该Web服务调用Com Api来执行数据库操作。

模仿似乎并没有持续存在于Com Api中。 这是因为Com DLL被加载到其自己的内存空间中并被视为一个单独的进程吗? 还有什么方法可以解决此问题,并将模拟继续保存到Com Api Dll?

此时,不能将Com Api的功能移入点网代码。 Com Api也是用C ++编写的。

所以我解决了这个问题。 Com对象被加载到其自己的线程中,而模仿方式的设置是线程级别。 由于我控制了Com对象,因此添加了Windows函数CoImpersonateClient();。 在需要模拟的任何代码之前,都可以做到这一点。

这是我终于找到解决问题的文章:

http://support.microsoft.com/default.aspx?scid=kb;zh-CN;Q325791

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM