Por que meu serviço da Web ASP.NET não pode iniciar um processo, mas meu aplicativo de console .NET pode?
Este é o código de uma biblioteca de classes:
proc.StartInfo = new ProcessStartInfo(CmdPath, "+an -b"); proc.StartInfo.RedirectStandardOutput = true; proc.StartInfo.CreateNoWindow = true; proc.StartInfo.UseShellExecute = false; proc.Start(); proc.WaitForExit();
Isso funciona perfeitamente como seria de esperar quando chamado de um aplicativo de teste do console. Quando eu pego a mesma biblioteca e chamo o método de um serviço da Web do ASP .NET, ele simplesmente trava.
Existe algo que estou perdendo aqui, talvez permissões? O serviço ASPNET tem acesso à pasta onde está o EXE, e eu o vejo em execução no Gerenciador de Tarefas, embora não esteja fazendo nada.
Se alguém pudesse me dizer o que estou fazendo de errado, eu agradeceria. Obrigado.
EDITAR: Desculpe pela falta de informação. O CmdPath vai para a interface de linha de comando do nosso software de agendamento. Estou passando comandos baseados na documentação que eles forneceram. Eu tenho um método para obter uma lista de trabalhos e outro método para executar um trabalho. ... hmm ideia. O cliente normalmente usa o Active Directory para fazer login, acho que a representação será necessária. Indo para testar agora.
EDIT 2: Ok, agora o cliente está explodindo com problemas AccessViolation. Isto é obviamente uma coisa de permissões. Se o software usar autorização integrada do AD e eu representar minha conta do AD, isso será suficiente? Eu estou fazendo a representação usando a tag no web.config.