asp.net WebページからC#で書かれた実行中のWindowsフォームアプリケーションにデータを送信しようとしています。 Webページから呼び出すとアプリケーションが起動しないが、コマンドラインからアプリケーションを実行しようとすると問題が発生する。asp.netから実行中のWindowsアプリケーションにデータを送信
これは、asp.netで
protected void Page_Load(object sender, EventArgs e)
{
// ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:connectSocketServer(); ", true);
SecureString sc = new SecureString();
string Source = "*****";
foreach (char c in Source.ToCharArray())
{
sc.AppendChar(c);
}
ProcessStartInfo i = new ProcessStartInfo(@"C:\******\myapp.exe", "test");
i.UserName = "******";
i.UseShellExecute = false;
i.Password = sc;
i.Verb = "runas";
Process p = new Process();
p.StartInfo = i;
p.Start();
}
を自分のアプリケーションを起動するコードの一部であり、これは
static System.Threading.Mutex mutex = new Mutex(true, "{8F6F0AC4-B9A1-45fd-A8CF-72F04E6BDE8F}");
[STAThread]
static void Main(params string[] Arguments)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 mf = new Form1();
if (mutex.WaitOne(TimeSpan.Zero, true))
{
Application.Run(mf);
mutex.ReleaseMutex();
}
else
{
MessageBox.Show("only one instance at a time");
mf.SendData(Arguments);
}
}
私のアプリケーションからのコードで、フォームでのSendData呼び出されるパブリック関数がありますそれはデータを処理します...
私はcmdの行と引数を渡すので、SendDataが実行されますが、Webページが動作していないから...
注:アプリケーションがIWAPユーザーのタスクマネージャで表示されるユーザー名とパスワード情報は削除しますが、フォームにはが表示されません。
がタスクマネージャに表示プロセスであり、あるいはそれがすべてで実行していない使用することをお勧めを解決するのだろうか? –
私はcmdで実行する場合はそれが表示されますが、ウェブページからは表示されません –
Windowsイベントログで、プロセスが開始されない理由について詳細を確認しましたか? 'HasExited'、' Responding'などの 'p'プロパティのいくつかの値を提供できますか? –