Проверьте, кто запускает WinForm - PullRequest
1 голос
/ 22 декабря 2011

Я работаю над проектом, в котором мне нужно открыть winform из веб-сервиса. Я не уверен, как открывается winform (моя учетная запись, системная учетная запись, aspnet и т. Д.), И я хочу знать, есть ли способ проверить, когда я выполняю следующий код:

namespace.Form2 form2 = new namespace.Form2();

System.Windows.Forms.Application.Run(form2);

Я бы предпочел, чтобы, когда я вызываю Application.Run, можно было узнать, какая учетная запись используется, но если кто-нибудь знает, какая учетная запись используется по умолчанию, это также будет полезно.

Достаточно простого:

MessageBox.Show("form2 running as: " + Thread.CurrentPrincipal.Identity.Name);

Я думаю, что когда я вызываю Application.Run, он запускает новый процесс и не работает под тем же именем. Передача учетных данных имеет решающее значение для выполнения этой работы, поэтому она должна запускаться как правильная учетная запись (та же, которая появляется, когда я запускаю приведенный выше код).

1 Ответ

1 голос
/ 22 декабря 2011

Ваше понимание неверно.

Application.Run - обычная управляемая функция.
Она не меняет идентификационные данные и не запускает процессы;он просто запускает бесконечный цикл.

...