SerialPort über WebApplication

Gast #1539683
Lesenswert?

Guten Tag,

ich habe mir mit Visual Studio 2008 eine kleine WebApplication 
programmiert die später einmal über unser Heim-Wlannetz erreichbar sein 
soll.

Mit dieser Application möchte ich Befehle über die 
Serielle-Schnittstelle meines PCs (auf dem auch die WebApplication 
läuft) senden und empfangen.
Nur weiß ich leider nicht wie ich das bewerkstelligen kann.
Muss ich dazu eine XML bereitstellen ?

Kann mir jemand bei diesem Problem weiterhelfen ?

Schon einmal schönen Dank im Voraus.
Gast #1539878
Lesenswert?

was heist sie steht nicht zur verfügung? schreib sie doch einfach mal 
hin - was kommt da für eine Fehlermeldung?

Hast du auch .net2.0 oder höher ausgewählt weil sie in 1.1 noch nicht 
vorhanden war?
Gast #1539931
Lesenswert?

Ich habe .NET 3.5
Das Problem ist das ich um einen SerialPort zu deklarieren für 
gewöhnlich das Passende Symbol aus der Toolbox in meine "Form" ziehe.
Dieses Symbol taucht jedoch in der Toolbox nicht auf wenn ich als 
Projekttyp ASP wähle.
Gast #1539966
Lesenswert?

ich habe mal kurz bei google gesucht, es schein scheinbar wirklich nicht 
zu gehen (mir ist aber nicht ganz klar warum - ich hätte maximal ein 
"Access Denied" bei der ausführung erwartet). Im Internet hatte jemand 
empfohlen ein .net Service zu schreiben der den Seriellen port 
anspricht. Und die ASP seite kommuniziert dann mit den Dienst.
Gast #1541407
Lesenswert?

Ich werde es einmal mit PHP versuchen, jedoch brauche ich einen anderen 
Webserver.
Unter XAMPP bekomme ich Apache nicht zum laufen da Port80 ständig vom 
System belegt ist und ich nicht weiß wie ich das abstellen kann.

Was ist den eine gute Alternative ? IIS ?
#1541418
Lesenswert?

Tony schrieb:
...
> Unter XAMPP bekomme ich Apache nicht zum laufen da Port80 ständig vom
> System belegt ist und ich nicht weiß wie ich das abstellen kann.

Dann läuft bestimmt schon ein anderer Webserver, eventuell sogar der 
bordeigene von MS. Den wirfst Du raus, und fortan hast Du keine Probleme 
mehr mit Apache, zumindest nicht bis zum nächsten "Neustart"

Es könnte in Deinem Fall notwendig sein, mit Administratorrechten zu 
arbeiten...
Gast #1541606
Lesenswert?

wenn es ordentlich sein soll dann ist leider php keine Lösung. Ich habe 
nichts gegen php aber ich finde es sehr unschön wenn jedes mal wenn ein 
php script ausgeführt wird das der comport geöffnet und wieder 
geschlossen wird. Was ist wenn die seite von 2 clients gleichzeigt 
geöffnet wird? Aus dem Grund hatte ich auch oben darauf hingeweisen das 
man soetwas als WebAnwednung macht, da gibt es immer nur eine Instanz 
der Anwendung welche den Port im zugriff hat. Jeder Clientzugriff wird 
dann als neuer Thread gemacht. Dies geht meines Wissens mit php nicht. 
Dafür gibt es entweder java oder abend ASP. (oder zur noch auch eine 
ISAPI Dll )
Gast #1541623
Lesenswert?

Ich habe es jetzt mal mit .net (c#) getestet.

Ich kann ohne Probleme eine ASP-Webanwenung mit dem Klasse Serialport 
erzeugen.
Also bitte versuch es weiter mit ASP, wenn du damit schon einmal 
angefangen hast. Es ist für diesen Zweck das bessere.

gestestet mit C#Develop3.1.

(Ich habe es jetzt nicht im IIS getestet, aber das estellen des 
Projektes geht erstmal)
Angehängte Dateien:
Gast #1542574
Lesenswert?

@Simon K.
Das Problem war die PID war 4 also System, das wird im Taskmanager nicht 
aufgerufen.

Das Problem war die HTTP.sys von Windows 7, hatte eine Anleitung 
gefunden mit der man die stoppen kann.
XAMPP und Apache laufen jetzt !

Also ich muss doch nun eine HTML Seite basteln die dann auf die ASP 
zugreift und diese HTML leg ich auf meinen Apache server, oder hab ich 
da jetzt einen Denkfehler drin?

Habe mal in den Code der ASP eine SerialPort-Klasse mit eingebaut.
Bekomme dann zunächst mal auch keine Fehlermeldung.
Rufe ich jedoch den Code in einem Webbrowser auf (über "RUN" in VS), 
bekomme ich bei jedem Aufruf der SeriaPort-Klasse eine Fehlermeldung (in 
dem Webbrowser).

Ich bin gerade leider nicht an meinem Rechner, werde aber heute Abend 
einmal meinen Test-Code posten und einen Screenshot der Fehlermeldung.
Gast #1544312
Lesenswert?

Ok hab XAMPP, mittels eines kleinen Updates, nun dazu gebracht .ASPX 
Dateien zu öffnen.
Nur hilft mir das nicht weiter, da ich immer Fehlermeldungen bekomme 
wenn ich mit VisualStudio erstelte ASPX-Dateien mit XAMPP öffnen möchte.

Hier mal ein Beispiel:
1
Serverfehler in der Anwendung /.
2

3
Parserfehler
4

5
Beschreibung: Fehler beim Verarbeiten einer Resource, die für diese Anforderung erforderlich ist. Überprüfen Sie folgende Fehlerinformationen und ändern Sie die Quelldatei entsprechend. 
6

7
Parserfehlermeldung: Der Typ "WebApplication1._Default" konnte nicht geladen werden.
8

9
Quellfehler: 
10

11

12
Zeile 1:  <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>
13
Zeile 2:  
14
Zeile 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15

16
Quelldatei: /WebApplication1/Default.aspx    Zeile: 1 
17

18
Versionsinformationen: Microsoft .NET Framework-Version:2.0.50727.4927; ASP.NET-Version:2.0.50727.4927

Was kann das sein ?
Gast #1544453
Lesenswert?

ohne wissen geht es auch dort nicht, aber sicherlich einfacher als einem 
Apache ASP beizubringen. Normalerweise sollte deine entwicklumgebung 
(z.b.VisualStudio)) dir alles abnehmen. Zum debuggen stellt es die sache 
im IIS bereit.

Aber die Fragen klingen irgendwie so, das du noch nicht mal ein genauen 
plan hast was du eigentlich machst.
Gast #1544832
Lesenswert?

Unter Visual studio läuft ja alles so wie ich das will, mir geht es 
jetzt nur dadrum wie ich die ganze Sage eigenständig auf einem WebServer 
zum laufen bringe.
Mir ist da bei allerdings noch nicht ganz klar in wie weit VS sachen in 
IIS übertragen kann ?
Läuft das über Erstellen -> Veröffentlichen ?
Gast #1545424
Lesenswert?

Jetzt versucht mein Programm zwar zu senden, bekommt aber keine 
Zugrifsrechte auf den COM-Port.
1
Ausnahmedetails: System.UnauthorizedAccessException: Der Zugriff auf den Anschluss COM4 wurde verweigert. 
2

3
ASP.NET darf auf die angeforderte Ressource nicht zugreifen. Gewähren Sie der ASP.NET-Anforderungsidentität Zugriffsrechte für die Ressource. ASP.NET hat eine Standardprozessidentität (gewöhnlich {MACHINE}\ASPNET unter IIS 5 bzw. Network Service unter IIS 6), die verwendet wird, wenn die Anwendung keinen Identitätswechsel ausführen kann. Wenn die Anwendung über <identity impersonate="true"/> einen Identitätswechsel ausführen kann, wird als Identität gewöhnlich der anonyme Benutzer (normalerweise IUSR_MACHINENAME) bzw. der authentifizierte Anfragebenutzer verwendet. 
4

5
Um ASP.NET Zugriff auf eine Datei zu gewähren, klicken Sie im Explorer mit der rechten Maustaste auf die Datei, wählen "Eigenschaften" und anschließend die Registerkarte "Sicherheit". Klicken Sie auf "Hinzufügen", um den entsprechenden Benutzer bzw. eine Gruppe hinzuzufügen. Markieren Sie das ASP.NET-Konto, und aktivieren Sie jeweils das Kontrollkästchen für den gewünschten Zugriff.

Hab mal im Gerätemanager geschaut jedoch nichts zum Thema Sicherheit 
gefunden.

Ach ja, ich benutze im mom com0com (0 Modemkabel)um die Funktion zu 
testen.
Gast #1545503
Lesenswert?

Ok hab es hinbekommen!
Hatte ganz vergessen den Port auch wieder zu schließen, daher war er im 
dauer Betrieb.

So das schreiben und lesen des SerialPorts über meinen Webbrowser 
funktioniert nun :-)

Jetzt bleibt nur noch ein Hindernis,
wie schaffe ich es das mein Webserver auch über das Internet zu 
erreichen ist.
(benutze jetzt nicht mehr Apache sondern IIS7).

Desweiteren ist sicherlich noch ein Password nicht verkehrt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren