J'ai besoin d'aide avec le code ci-dessous. J'essaie de convertir un fichier AutoCAD du format dwg au format dwf. Ensuite, le fichier dwf est téléchargé et ouvert sur l'ordinateur client à l'aide d'une applet Java.ASP.NET: Exécuter un exécutable externe ne fonctionne pas
La commande utilisée pour convertir le fichier dwg sur la ligne de commande est: C: \ inetpub \ wwwroot \ COR-Basic \ cadviewer \ convertisseur \ ax2008.exe -i = "C: \ inetpub \ wwwroot \ test \ conteneur \ DU38_EG00_070116.dwg "-o =" C: \ inetpub \ wwwroot \ COR-Basic \ cadviewer \ fichiers \ DU38_EG00_070116.dwf "-f = dwf -model -text
cela fonctionne lorsque j'entre le texte de commande dans cmd.exe.
Mais quand je l'appelle de mon application asp.net, il ne commence le processus, mais le processus ne se termine jamais ...
J'ai essayé d'ajouter un utilisateur supplémentaire, ont donné cet utilisateur l'autorisation complète, et les autorisations complètes sur wwwroot, mais cela ne fonctionne toujours pas.
Quelqu'un sait ce que je fais mal, ou comment je pourrais le faire d'une autre manière?
If System.IO.File.Exists(strDWGlocation) Then
Dim psiProcessSettings As Diagnostics.ProcessStartInfo = New Diagnostics.ProcessStartInfo
psiProcessSettings.FileName = strApplicationPath
psiProcessSettings.Arguments = " -i=""" & strDWGlocation & """ -o=""" & strOutputLocation & """ -f=dwf -model -text"
'ST-LAPTOP\converter
psiProcessSettings.UserName = "converter"
psiProcessSettings.Password = secureString
'StefanSteiger.Debug.MsgBox("Input location:" + strDWGlocation)
'StefanSteiger.Debug.MsgBox("Output location:" + strOutputLocation)
Response.Write("<h1>Argument1: " + psiProcessSettings.Arguments + "</h1>")
Response.Write("<h1>Pfad1: " + psiProcessSettings.FileName + "</h1>")
'psiProcessSettings.RedirectStandardInput = True
psiProcessSettings.RedirectStandardError = True
psiProcessSettings.RedirectStandardOutput = True 'Redirect output so we can read it.
psiProcessSettings.UseShellExecute = False 'To redirect, we must not use shell execute.
'psiProcessSettings.CreateNoWindow = True ' don't create a window
Dim pConverterProcess As Diagnostics.Process = New Diagnostics.Process
pConverterProcess = Diagnostics.Process.Start(psiProcessSettings) 'Create the process.
pConverterProcess.Start() 'Execute the process.
'Response.Write("<h1>" + Replace(pConverterProcess.StandardOutput.ReadToEnd(), vbCrLf, "<BR />") + "</h1>") 'Send whatever was returned through the output to the client.
'pConverterProcess.CancelOutputRead()
'pConverterProcess.CancelErrorRead()
'pConverterProcess.StandardInput.Close()
'Wait for the process to end.
'pConverterProcess.WaitForExit()
pConverterProcess.Close()
'Dim iExitCode As Integer = pConverterProcess.ExitCode()
pConverterProcess.Dispose()
Else
MyNamespace.Debug.MsgBox("No such file.")
End If
Vous devriez demander aux créateurs de ax2008 à ce sujet. En particulier, l'application affiche-t-elle une interface utilisateur au démarrage? –
Non, ce n'est pas un utilitaire de ligne de commande. Et il ne demande pas d'entrée, vous donnez simplement les paramètres de la ligne de commande et appuyez sur Entrée. –
nice Q ............. –