Если мое приложение asp.net порождает процесс, выполняется ли этот процесс в том же домене приложения, в котором выполняется приложение asp.net? - PullRequest
0 голосов
/ 09 марта 2011

Исходя из моего понимания:

  1. IIS вызывает один рабочий процесс для всех приложений asp.net на сервере.
  2. Рабочий процесс содержит коллекцию доменов приложений.
  3. Каждый домен приложения в рабочем процессе соответствует приложению asp.net.

Если мое приложение asp.net порождает процесс для каждого запроса, выполняется ли процесс внутри одного и того жедомен приложения, в котором работает приложение asp.net?

    Process p = new Process();

    p.EnableRaisingEvents = true;
    p.Exited += new EventHandler(p_Exited);

    p.StartInfo.Arguments = "-fmt=pdflatex -interaction=nonstopmode " + inputpath;
    p.StartInfo.WorkingDirectory = dir;

    p.StartInfo.UseShellExecute = false;
    p.StartInfo.FileName = "pdftex.exe";

    p.StartInfo.LoadUserProfile = true;

    p.Start();
    p.WaitForExit();

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Простой ответ - нет. Когда вы запускаете новый процесс, создается новое пространство процессов, которое не зависит от домена вашего приложения. Порожденный процесс может или не может быть управляемым кодом и запускаться как независимый процесс. Он может наследовать контекст безопасности своего создателя, если определены соответствующие настройки.

1 голос
/ 09 марта 2011

Нет.Домен приложений не может превышать границы процесса, в котором он находится.
Более того, домены приложений - это концепция из мира .NET.Если pdftex.exe является приложением .NET, оно имеет свой собственный домен приложений.Если это не приложение .NET, у него вообще нет AppDomain.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...