Запуск / остановка запуска агента для всех пользователей с сеансами графического интерфейса

Для Web API 2 вы можете реализовать IHttpActionResult. Вот мой:

class FileResult : IHttpActionResult
{
    private readonly string _filePath;
    private readonly string _contentType;

    public FileResult(string filePath, string contentType = null)
    {
        if (filePath == null) throw new ArgumentNullException("filePath");

        _filePath = filePath;
        _contentType = contentType;
    }

    public Task<HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken)
    {
        var response = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new StreamContent(File.OpenRead(_filePath))
        };

        var contentType = _contentType ?? MimeMapping.GetMimeMapping(Path.GetExtension(_filePath));
        response.Content.Headers.ContentType = new MediaTypeHeaderValue(contentType);

        return Task.FromResult(response);
    }
}

Тогда что-то вроде этого в вашем контроллере:

[Route("Images/{*imagePath}")]
public IHttpActionResult GetImage(string imagePath)
{
    var serverPath = Path.Combine(_rootPath, imagePath);
    var fileInfo = new FileInfo(serverPath);

    return !fileInfo.Exists
        ? (IHttpActionResult) NotFound()
        : new FileResult(fileInfo.FullName);
}

И вот один из способов сообщить IIS игнорировать запросы с расширением, чтобы запрос перейдите к контроллеру:

<!-- web.config -->
<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
11
задан Lawrence Johnston 9 July 2009 в 22:48
поделиться

1 ответ

Использование launchctl bsexec является правильным, но вам необходимо запустить инструмент-оболочку, который передает UID целевому пользователю перед запуском «реального» исполняемого файла агента. О, и, вероятно, лучше поискать процессы loginwindow , поскольку они являются лидерами сеансов входа в систему (хотя launchd , скорее всего, тоже сработает).

6
ответ дан 3 December 2019 в 08:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: