안녕하세요. 박용준입니다.
우선, 질문주신 부분에 대한 제 경험이 없어서,
따로 도움을 드리지 못한 점 죄송스럽니다.
제가 ASP.NET 시절에는
XXX.exe 파일을 ASP.NET의 특정 폴더에 넣어두고, 특정 이벤트에서 해당 exe 파일을 실행시켜 서비스하는 형태로 개발을 했었는데요.
아직, 업무상,
ASP.NET Core(Blazor Server)에서는 해당 기능을 사용해보진 못했습니다.
그래서,
관련된 내용은 구글링을 해보시는 것을 추천드립니다.
또는 개발자 관련 커뮤니티에 문의를 해서, 관련 경험이 있으신 분들의 도움을 받아보시는 것도 좋을 듯 합니다.
아무튼, 아래 질문에 대해선 제가 따로 실행 경험이 없어서, 회신을 못드려 죄송합니다.
감사합니다.
On 2020-10-24 오전 8:14:00, '김동환' wrote:
안녕하세요 강사님.
항상 강의 잘 듣고 있습니다.
강사님의 blazor강의를 많이 듣고 홈페이지를 잘 구축했는데요.
배포중인 blazor 서버에서 batch파일을 실행시키고 싶은데, 아무 동작도 하질 않네요
blazor로 만든 홈페이지에 접속도 잘되고, 파일 업로드같은것도 잘되는데 batch파일만 그러더군요;
서버내에서 직접 cmd를 실행해서 batch파일 실행하거나, batch파일 더블클릭하여 실행하면 잘되구요.. 혹시 제가 서버 지식이 부족해서 그런지 다른 설정을 해줘야하나,,, 아니면 코드가 잘못된건지 조언을 얻고 싶어 문의 드립니다.
=========== 함수 정의부 ===========
public void ExecuteCommand(string command)
{
ProcessStartInfo processInfo;
Process process = new Process();
processInfo = new ProcessStartInfo();
processInfo.FileName = "cmd.exe";
processInfo.Arguments = "/C " + command;
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
processInfo.WorkingDirectory = "C:\\test";
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.Verb = "runas";
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
process.StartInfo = processInfo;
process.Start();
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
outputFile.WriteLine(output);
outputFile.WriteLine(error);
exitCode = process.ExitCode;
outputFile.WriteLine(exitCode);
process.Close();
}
====== 함수 실행 구문 ======
ExecuteCommand(string.Format("battest.bat {0}", filePath);
도움주시면 감사하겠습니다.