Laden...

Prozess ausführen

Erstellt von Devil00456 vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.492 Views
D
Devil00456 Themenstarter:in
38 Beiträge seit 2007
vor 17 Jahren
Prozess ausführen

Hallo zusammen ! !

Ich habe folgendes Problem:

Ich entwickle ein Webinterface mit Visual Studio 2005 und wenn ich dort per F5 den Code ausführe funktioniert alles tadellos. Wenn ich nun aber die Seite auf meinen Webserver veröffentliche funktioniert der Aufruf des Prozesses nicht mehr bzw. ich sehe den Prozess im Task Manager aber es hat sich kein Fenster geöffnet wenn ich mich auf den Server (Intranet) aufschalte.

Zu meinem Programm. Ich habe jetzt hier beispielhaft die calc.exe genommen. Der Webserver befindet sich hier bei mir im Intranet und ich hab somit vollen Zugriff auf ihn. Wenn ich nun die Seite aufrufe und auf den Button klicke sollte sich ja auf dem Server die Calc.exe starten und auch angezeigt bekommen oder?


protected void Button1_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Process p = new System.Diagnostics.Process();
        p.StartInfo.FileName = "calc.exe";

        p.Start();
    }

738 Beiträge seit 2007
vor 17 Jahren

hi,

1.) bitte die C-Sharp Code tags beim posten verwenden.

2.)Du must keine neue Instance von System.Diagnostics.Process aufrufen. Den Namen des Prozesses einfach bei Process.Start() angeben:


System.Diagnostics.Process.Start("calc");

D
Devil00456 Themenstarter:in
38 Beiträge seit 2007
vor 17 Jahren

Sorry, wusste ich nicht. Bin blutiger Anfänger.

Wird dann auf dem Server auch der Taschenrechner geöffnet, weil wenn ich es über Erzeugen einer neuen Instanz mache, den Namen der Exe übergebe und dann starte ist es ja dasselbe oder etwa nicht?

B
1.529 Beiträge seit 2006
vor 17 Jahren

Der ASP.NET Code wird unter einem Benutzeraccount ausgeführt, der sich nicht lokal anmelden darf. Wenn du den Taschenrechner unter diesem Benutzer öffnest, erhält dieser Benutzer eine eigene Session (quasi eine eigene Oberfläche), in der der Taschenrechner ganz normal arbeitet.
Da du dich aber nicht als ASP.NET-Benutzer anmelden kannst, bekommst du diese Session auch nie zu sehen.

D
Devil00456 Themenstarter:in
38 Beiträge seit 2007
vor 17 Jahren

Ich hab´s nun umgeschrieben.


protected void Button1_Click(object sender, EventArgs e)
    {
        System.Net.IPHostEntry hostEintrag = System.Net.Dns.GetHostEntry(Request.UserHostName);
        string host = hostEintrag.HostName.ToString();
        

        lblSuccess.Text = host;

       System.Diagnostics.Process.Start("notepad.exe");
}

Wenn ich es im visual Studio mit F5 ausführe dann wird der Prozess ausgeführt. Wenn ich nun allerdings die Seite auf meinen Server lade und auf den Button klicke passiert nichts. Wo liegt mein Fehler?

D
Devil00456 Themenstarter:in
38 Beiträge seit 2007
vor 17 Jahren

Kann geschlossen werden. Hat sich erledigt.