Saturday 7 April 2018

Tempo limite de espera do processo líquido


processo waitforexit timeout
Obter através da App Store Leia esta publicação em nosso aplicativo!
ProcessStartInfo WaitForExit Timeout.
Preciso imprimir um arquivo pdf com ProcessStartInfo.
O nome do arquivo e os argumentos são corretos eles funcionam quando colados em cmd. O código funciona corretamente, mas após Process. Start quando se trata de WaitForExit, o programa não termina. Recebo o erro de tempo limite:
System. Threading. ThreadAbortException: Thread estava sendo abortado. no System. Threading. WaitHandle. WaitOneNative (SafeHandle waitableSafeHandle, UInt32 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext) no System. Threading. WaitHandle. InternalWaitOne (SafeHandle waitableSafeHandle, Int64 milissegundosTimeout, Boolean hasThreadAffinity, Boolean exitContext) no System. Diagnostics. Process. WaitForExit (Int32 milissegundos).
Eu procurei e tentei algumas coisas como configurar & lt; httpRuntime executionTimeout = "300" / & gt; e execute um 500 ou como no código com process. WaitForExit (6000); e mais alto, onde nenhum exeption, mas nada foi impresso.
Existe um erro ou estou faltando alguma coisa?
EDIT: Eu mudei meu bloco de código acima. Agora, o código funciona no modo de depuração, mas ainda não imprimirá meu documento quando publicado. Eu também tentei usar um Usuário diferente. No modo de depuração, o código imprime o documento, mas é executado na consulta kill.
O ProcessStartInfo. Verbs retorna uma Exceção de argumento, mas eu não sei por quê.
Depois de muita tentativa, teste e pesquisa, tenho certeza que meu código funciona. Então eu ainda não sei por que meu código parou de funcionar. Mas a mudança do Adobe Reader 9.0 no servidor para 7.0 agora funciona.
Quando eu estava depurando localmente com o Adobe Reader 9.0 também funcionava, então eu acho que talvez houvesse uma atualização no servidor web. Eu não testei isso ainda.

processo waitforexit timeout
Obter através da App Store Leia esta publicação em nosso aplicativo!
Processo de matar após certo horário + C #
Como eu mato um processo depois de dizer 2 ou três minutos, veja o seguinte código:
então eu quero que a janela IE seja fechada após 2 minutos.
Use Process. WaitForExit com um tempo limite de dois minutos e, em seguida, ligue Process. Kill se WaitForExit retornado falso.
(Você também pode considerar chamar CloseMainWindow em vez de Kill, dependendo da sua situação - ou, pelo menos, tentar primeiro, dar ao processo mais chance de fazer um encerramento ordenado.)
Use um System. Threading. Timer e forneça um TimerCallback (que contém o seu processo. Kill) para ser chamado novamente após 2 minutos. Veja o exemplo aqui.
Editar: a solução de Jon é mais simples ... menos tipos ... não Requisição de descarte.
Você deve tentar com o Serviço do Windows em vez de um aplicativo de console. Os serviços do Windows têm um ciclo de vida iterativo, portanto, isso pode ser facilmente alcançado usando um controle de timer no serviço do Windows. Deixe o timer marcar um intervalo e executar a ação desejada em determinados intervalos de tempo.
Claro que você também pode usar o controle do temporizador com um aplicativo de console.

processo waitforexit timeout
Eu tenho o seguinte código na minha aplicação:
System. Diagnostics. Process proc = new System. Diagnostics. Process ();
Uma vez que eu chamo isso através de outra aplicação, o processo está pendurado.
Então eu dei um tempo de 5 segundos e agora funciona bem. Mas eu preciso encontrar uma maneira melhor de resolver esse problema, pois esse valor de tempo limite pode depender dos recursos do sistema e a quantidade de aplicativo de entrada deve ser processada.
Então, minha pergunta é se estamos criando um processo usando o System. Diagnostics, o sistema operacional cria um segmento separado e o faz como fio primário ou UI thread?
Ou está criando um fio CLR que é o mesmo que System. Threading. Thread?
Se usarmos Thread-pool para criar uma thread de trabalho, seria uma opção melhor?
O pool de threads usa o modo de programação do usuário?
Aprecie sua ajuda nisso.
Eu preciso saber disso, porque se o System. Diagnostics também criar um thread de fundo ou thread de trabalho, nenhum ponto criando um thread separado novamente, pois não haverá nenhuma alteração no final do dia.
Qual a diferença entre a implementação acima sobre a criação de uma linha de fundo?
Você está confundindo os tópicos internos e externos ao seu aplicativo. Se você usa WaitForExit no seu segmento UI. Isso bloqueará o segmento UI tornando-o insensível. Se isso é um problema, genere o novo processo no evento DoWork de um BackgroundWorker. Quando o processo for encerrado, o RunWorkerCompleteEvent será ativado, alertando seu segmento UI.
Marcado como resposta por Min Zhu pessoal contingente da Microsoft, Moderador segunda-feira, 18 de julho de 2011 3:10 AM.
Todas as respostas.
Esperando um evento com EnableRaisingEvents = false significa que você está usando WaitForExit como um temporizador. Defina-o para um valor apropriado.
Esperando um evento com EnableRaisingEvents = false significa que você está usando WaitForExit como um temporizador. Defina-o para um valor apropriado.
Eu atribuí 5000 como o valor e corrigiu o problema. Minha preocupação é que funcionará de forma semelhante em diferentes recursos do sistema, tamanho de conteúdo de entrada etc.?
O que acontecerá se o processo associado não sair ao final do intervalo?
O Windows não é um sistema operacional em tempo real, então qualquer temporizador dependerá do agendamento do sistema operacional. Supostamente, o System. Timers. Timer é o mais preciso.
& quot; o que acontecerá se o processo associado não sair ao final do intervalo? & quot; Você desativou esse recurso. Se é isso que você está tentando fazer, habilite-o. Se você não deseja bloquear o segmento que você usou para iniciar o processo, inicie-o a partir de um segmento de fundo. O BackgxroundWorker seria apropriado para isso.
Eu preciso saber disso, porque se o System. Diagnostics também criar um thread de fundo ou thread de trabalho, nenhum ponto criando um thread separado novamente, pois não haverá nenhuma alteração no final do dia.
Qual a diferença entre a implementação acima sobre a criação de uma linha de fundo?
Eu preciso saber disso, porque se o System. Diagnostics também criar um thread de fundo ou thread de trabalho, nenhum ponto criando um thread separado novamente, pois não haverá nenhuma alteração no final do dia.
Qual a diferença entre a implementação acima sobre a criação de uma linha de fundo?
Você está confundindo os tópicos internos e externos ao seu aplicativo. Se você usa WaitForExit no seu segmento UI. Isso bloqueará o segmento UI tornando-o insensível. Se isso é um problema, genere o novo processo no evento DoWork de um BackgroundWorker. Quando o processo for encerrado, o RunWorkerCompleteEvent será ativado, alertando seu segmento UI.
Marcado como resposta por Min Zhu pessoal contingente da Microsoft, Moderador segunda-feira, 18 de julho de 2011 3:10 AM.
A Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site da Msdn. Se você optar por participar, a pesquisa on-line será apresentada quando você deixar o site Msdn.

processo waitforexit timeout
Eu trabalhei no projeto da minha empresa. Eu notei esse problema, quando liguei de um Exe para Outre Exe. Durante o arrastar, o formulário no segundo Exe mostrará várias formas. Estou usando WaitforExit ().
resolva-o.
Movido por edhickey quarta-feira, 27 de julho de 2011 2:44 PM (De: 3.0 / 3.5 Fundação Workflow do Windows)
Esta é exatamente a causa do problema. Se WaitForExit é chamado a partir do tópico do formulário, ele impedirá que o formulário seja redesenhado novamente. Arrastar algo na frente de uma janela bloqueada deixa um traço da janela arrastada.
Proposto como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2011 10:34 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 8 de agosto de 2011 6:50 AM.
O código seria melhor e também seria melhor se você puder nos dizer exatamente o que você está tentando alcançar.
WaitForExit () simplesmente espera (bloqueia seu código durante esse período) para que um processo saia antes de continuar com a execução do seu código de chamada.
C # MVP (2007-2010) MS Vendor - MS Todo o caminho! Seguidor desde 1995 MS Super Evangelist | Moderador do Fórum MSDN.
Proposto como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2011 10:33 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 8 de agosto de 2011 6:50 AM.
Todas as respostas.
O código seria melhor e também seria melhor se você puder nos dizer exatamente o que você está tentando alcançar.
WaitForExit () simplesmente espera (bloqueia seu código durante esse período) para que um processo saia antes de continuar com a execução do seu código de chamada.
C # MVP (2007-2010) MS Vendor - MS Todo o caminho! Seguidor desde 1995 MS Super Evangelist | Moderador do Fórum MSDN.
Proposto como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2011 10:33 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 8 de agosto de 2011 6:50 AM.
Eu tinha verificado. Tem problema no waitforexit () only. i percebi esse problema quando mover o segundo formulário exe.
Editado por RAJ KUMAR. R quinta-feira, 28 de julho de 2011 10:09.
Qual é exatamente o problema? você leu minha resposta? você também leu o link que eu forneci?
WaitForExit () é um método de bloqueio de thread que fará exatamente exatamente isso - espere que um processo saia antes de continuar com seu código. NÃO fará o seu formulário ocultar ou minimizar, a menos que você diga ao seu código para fazer isso antes de chamar WaitForExit ()
C # MVP (2007-2010) MS Vendor - MS Todo o caminho! Seguidor desde 1995 MS Super Evangelist | Moderador do Fórum MSDN.
Tudo está funcionando bem. Mas quando eu mudo o formulário, ele mostra uma forma múltipla.
Esta é exatamente a causa do problema. Se WaitForExit é chamado a partir do tópico do formulário, ele impedirá que o formulário seja redesenhado novamente. Arrastar algo na frente de uma janela bloqueada deixa um traço da janela arrastada.
Proposto como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2011 10:34 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 8 de agosto de 2011 6:50 AM.
Quando você diz que mostra vários formulários - você está falando sobre várias instâncias dos formulários ou apenas o desenho / renderização?
se é o desenho / renderização, sim, como já foi dito - é porque está aguardando que o processo saia / termine antes de continuar e seja threadblocking para que você veja o & quot; problema & quot; você está a descrever. Não há "correcção" para isso, uma vez que não é um bug ou um problema, mas apenas o que você está usando e como você o está usando.
Existe uma razão pela qual você está usando WaitForExit ()? Você deve mostrar seu formulário quando você está usando WaitForExit ()? Por que você não esconde ou minimiza o formulário antes de chamar WaitForExit (), então, restaure-o depois da palavra?
C # MVP (2007-2010) MS Vendor - MS Todo o caminho! Seguidor desde 1995 MS Super Evangelist | Moderador do Fórum MSDN.
A Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site da Msdn. Se você optar por participar, a pesquisa on-line será apresentada quando você deixar o site Msdn.

No comments:

Post a Comment