2011-03-09 10 views
0

:asp.net 응용 프로그램이 프로세스를 생성하는 경우 asp.net 응용 프로그램이 실행되는 동일한 응용 프로그램 도메인 내에서 프로세스가 실행됩니까? 내 이해를 바탕으로

  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(); 
+0

가능한 복제본 [각 요청에 대해 새 프로세스를 생성하는 asp.net을 최적화하는 방법?] (http://stackoverflow.com/questions/5242652/how-to-optimize-an-asp-net-spawning- a-new-process-for-each-request) –

+0

질문을 다시 질문하는 것은 대답을 변경하지 않을 것입니다. –

답변

2

간단한 대답은 없습니다. 새 프로세스를 시작하면 새로운 프로세스 공간이 만들어지고 앱 도메인과 독립적입니다. 스폰 된 프로세스는 관리되는 코드 일 수도 있고 아닐 수도 있으며 독립적으로 프로세스로 실행됩니다. 적절한 설정이 정의되면 생성자의 보안 컨텍스트를 상속 할 수 있습니다.

+0

생성자 보안 컨텍스트를 상속하는 것 외에도 생성 된 프로세스는 작성자보다 높은 보안 액세스 수준을 취할 수 있습니까? – xport

+0

기본적으로는 아니지만 ProcessStartInfo의 사용자 이름 및 암호 설정을 사용하여 제작자로 가장 할 수 있습니다. 또 다른 옵션은 UseShellExecute를 켜서 OS 쉘을 사용하여 프로세스를 시작하는 것입니다. –

1

아니요. 아니요. AppDomain은 내부에있는 프로세스의 경계를 초과 할 수 없습니다.
또한 AppDomains는 .NET 세계의 개념입니다. pdftex.exe이 .NET 응용 프로그램 인 경우 고유 한 AppDomain을가집니다. .NET 응용 프로그램이 아닌 경우 AppDomain이 전혀 없습니다.

관련 문제