私はstackoverflowでこれを行う方法のいくつかの言及を参照しました。Webサービスが実行していないexe
私は、次の参照コードからテストしようとした:私は、ブラウザで以下の私のコードを実行したときに、フレームワーク3.5
VisualStudio2010
:
https://www.dotnetperls.com/process
How to run .exe file by my Webservice?
VERSIONをクリックすると弾丸が見えます。それをクリックすると何も起こりません。私のexeは単にxmlファイルを探し出し、そこから新しいファイルを作成します。私はexeを実行するWebサービスを使用したいと思います。私のコードに欠けているものはありますか?私が見たバージョンは他にもたくさんありましたが、まだ試してみましたが、まだ運がありませんでした。[0126]
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.IO
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://localhost/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
Inherits System.Web.Services.WebService
Dim File As String
<WebMethod()> _
Public Sub runExe()
Dim exe = "C:\WindowsApplication1\bin\Debug\WindowsApplication1.exe"
'Dim file = "C:\Test\test.xml"
Dim startInfo As New ProcessStartInfo()
startInfo.FileName = exe
'startInfo.Arguments = file
Process.Start(startInfo)
'REFERENCE: https://www.dotnetperls.com/process
End Sub
私も
ThreadPool.QueueUserWorkItem(Sub() Process.Start("C:\WindowsApplication1\bin\Debug\WindowsApplication1.exe"))
を使用してcalling .exe from another .exe to run a webserviceを試みたが、exeファイルは、私はexeファイルがに送信フォルダのパスで作成した新しいファイルを見ていない別名実行されませんでした。
も試み:
は私の問題を見つけるために、出力テストを使用するとは思いませんでした:
Dim processInfo = New ProcessStartInfo(exe)
Dim process__1 = Process.Start(ProcessInfo)
process__1.WaitForExit(5000)
Dim exitCode = process__1.ExitCode
process__1.Close()
Return
何も
UPDATEが起こっていません。私は、次のように使用:あなたのコメントに応えて
While Not process__1.StandardOutput.EndOfStream
Dim line As String = process__1.StandardOutput.ReadLine()
End While
'WindowsApplication1.vshost.exe'? 'WindowsApplication1.exe'を実行するつもりはありませんか?また、アプリケーションが実行されていないことを確認するためにデバッグを行うことはできますか?デバッグ出力がアプリケーションに含まれる可能性がありますか?ここでプロセスを呼び出すときにプロセスの出力を読み込みますか?それはあなたがキャプチャしていない、またはあなたのテストがあなたが思っていることをやっていないという正当な理由で失敗する可能性が高いようです。 – David
はい、タイプミスでした。私はプロセスの出力を作成する方法を検討します。 @David – narue1992
また、これは明白かもしれませんが、多くの人がこの問題を抱えているので、質問する価値があります。このアプリケーションが*サーバー*または*クライアント*で動作することを期待していますか? – David