Подтвердить что ты не робот

Получить программный идентификатор пула приложений

Как я могу получить идентификатор appPool программно в С#? Я хочу, чтобы пользователь пула приложений и НЕ пользователь, который в настоящий момент вошел в систему.

4b9b3361

Ответ 1

Вы можете использовать System.Security.Principal.WindowsIdentity.GetCurrent().Name для идентификации Identity, в котором работает текущее приложение. Эта ссылка предоставляет приятную утилиту, которая отображает идентификатор, под которым запускается aspx.

Ответ 2

Вам нужно сделать ссылку на Microsoft.Web.Administration(в Microsoft.Web.Administration.dll). Microsoft.Web.Administration.dll находится в каталоге C:\Windows\System32\inetsrv.

//Add this to your using statements:
using Microsoft.Web.Administration;

//You can get the App Pool identity like this:    
public string GetAppPoolIdentity(string appPoolName)
{
    var serverManager = new ServerManager();

    ApplicationPool appPool = serverManager.ApplicationPools[appPoolName];
    appPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
    return appPool.ProcessModel.UserName;            
}