如何在web api控制器中获取应用程序池的标识

时间:2015-02-06 00:43:29

标签: c# asp.net iis asp.net-web-api

我有一个web api控制器,我需要获取在IIS中托管Web应用程序的应用程序池的标识。

我试过了

string threadName = System.Threading.Thread.CurrentPrincipal.Identity.Name;
string username = this.User.Identity.Name;

但两者都是空的。我想要运行w3wp.exe的名称,例如IIS APPPOOL \ DefaultAppPool或NETWORKSERVICE,或者将应用程序池配置为运行的任何名称。

尝试使用authentication = none,这是在VS2013中创建新的Wep Api项目时的默认设置,也尝试使用Forms auth,但没有运气。

1 个答案:

答案 0 :(得分:0)

在这个主题上找到答案:Get the Application Pool Identity programmatically

我在寻找

string appPoolName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;