Asp.net IIS应用程序池标识无法100%工作

Asp.net IIS应用程序池标识无法100%工作,asp.net,iis,Asp.net,Iis,我在dll中使用ActiveX对象(伦巴终端仿真)。需要为使用此ActiveX对象的每个windows用户配置此ActiveX对象。 当我在WinForms或Windows服务中使用dll时,它工作正常,但当我在ASP.NET站点的IIS中使用它时,它就不工作了(如果站点不在IIS上,它仍然工作)。它不会读取为指定为ASP.NET网站应用程序池标识的windows用户配置的设置,而是读取默认设置。标识有效,但不是100%:在我的DLL中,“Environment.UserName”为我提供指定为

我在dll中使用ActiveX对象(伦巴终端仿真)。需要为使用此ActiveX对象的每个windows用户配置此ActiveX对象。 当我在WinForms或Windows服务中使用dll时,它工作正常,但当我在ASP.NET站点的IIS中使用它时,它就不工作了(如果站点不在IIS上,它仍然工作)。它不会读取为指定为ASP.NET网站应用程序池标识的windows用户配置的设置,而是读取默认设置。标识有效,但不是100%:在我的DLL中,“Environment.UserName”为我提供指定为应用程序池标识的用户的用户名。我无法找出ActiveX对象认为谁是当前用户。
因此,正如我所看到的,IIS标识可以工作,但它并不能完成100%的工作,某些部分缺失。如何让IIS 100%执行其标识?

请定义“它不工作”。还要提到您是如何在web.config中配置模拟的,以及您希望IIS做什么。在多次阅读您的问题后,我大致解释了您希望IIS检测用户的身份,而不是应用程序池的身份。如果是这样,您必须打开模拟。@AmitNaidu:模拟已打开:。“不工作”是指ActiveX对象认为我不是应用程序池标识指定的用户,这很好,但还不够。对于模拟,匿名身份验证也必须关闭。许多信息仍然缺失。实际的错误消息是什么?您是否将匿名用户设置为应用程序池帐户?现在还不清楚您到底想要什么-您希望代码以每个请求用户的身份运行,还是以您设置为应用程序池身份的特定特权帐户的身份运行?前者需要打开模拟,后者需要关闭模拟。什么是
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString()返回?@AmitNaidu:没有错误消息。问题在于ActiveX组件无法读取应用程序池标识指定的用户设置。在Web.config中,我有:“”。System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString()返回指定为应用程序池标识的用户。我希望代码以单个特权帐户的身份运行,因为这将仅在服务器上运行。好的,但这是应用程序的ASPNET身份验证,我正在询问中的IIS身份验证设置,并询问您的anon是否设置为。如果没有,请这样做。如果希望每个用户都在一个特权帐户下运行,为什么要使用模拟
impersonate=“true”
表示线程将以windows用户(客户端)的身份执行,而不是池身份。此服务器在域上吗?什么操作系统和IIS版本?