2009-05-14 7 views
0

웹 서비스에서 Windows 콘솔 응용 프로그램을 호출하려고합니다. 로컬 서비스로 실행하는 경우 즉, 동일한 솔루션에서 완벽하게 작동하지만 웹 서비스를 통해 호출하려고하면 IIS localServer로 호스팅되므로 호출하지 않습니다. 나는 그것이 보안 문제라고 생각한다. 나는 웹 서비스에 새로 온 사람과는 윈도우 서비스가 잘 작동 않다면 ....Running-EXE-through-web-services

어떤 생각 나는

  Process.Start() function... 

그리고 한 가지 더를 사용하여 응용 프로그램을 호출하는거야 ???

답변

0

IUSR_ * 사용자 계정에 콘솔 응용 프로그램 실행 권한이 있습니까?

3

콘솔을 별도의 프로젝트로 취급하십시오. 먼저 작동하는지 확인하십시오.

asp.net 웹 앱에서 설명한 내용을 수행했습니다. 나는 그것을 시험했다. 같은 코드가 웹 서비스에서 잘 작동합니다. 여기에있는 트릭은 "startInfo.UseShellExecute = False"입니다.

예에서 매개 변수는 런타임에 실행되는 콘솔 앱에 전달됩니다. (미안 VB에서).

Dim startInfo As System.Diagnostics.ProcessStartInfo 
Dim pStart As New System.Diagnostics.Process 

startInfo = New System.Diagnostics.ProcessStartInfo("C:\Inetpub\wwwroot\KPIMi\Annotation Editor\Annotation_Console.exe") 
startInfo.Arguments = strServerName & "-" & strPrimaryKey & "-" & txtStart.Text 
startInfo.UseShellExecute = False 

pStart.StartInfo = startInfo 
pStart.Start() 

pStart.WaitForExit() '코드는 exe 파일이 실행될 때까지 중단됩니다.

희망이 도움이됩니다.

+0

한 가지 더 PC-NAME \ ASPNET 로컬 계정에 EXE 위치에 대한 액세스 권한을 부여해야합니다. – MoSlo