Laden...

HttpListener: Zugriff verweigert

Erstellt von punkdevil vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.328 Views
P
punkdevil Themenstarter:in
992 Beiträge seit 2007
vor 13 Jahren
HttpListener: Zugriff verweigert

Hallo,

ich habe eine Silverlight.Web-Anwendung, welche im IIS gehostet wird.
In dem Webprojekt setze ich einen System.Net.HttpListener auf.

Bei mir lokal (wenn ich Visual Studio als Administrator starte) klappt das. Wenn ich die Anwendung auf den IIS deploye, so bekomme ich ich die Exception:

System.Net.HttpListenerException (0x80004005): Zugriff verweigert at System.Net.HttpListener.AddAllPrefixes() at System.Net.HttpListener.Start() at SilverlightTest.Web.HttpServer.Server.ListenerThread() in D:\SOURCE_CODE\FISrpt\Server.Web\HttpServer\Server.cs:line 57 12

Was muss ich tun, damit der Code die Berechtigung hat den Listener zu Starten?

J
537 Beiträge seit 2007
vor 13 Jahren

Hallo,

ein HttpListenener in einer WebAnwednung macht keinen Sinn. Ich würde eher einen Windows-Dienst oder ähnliches schreiben.

Generell sollte Threading im Web vermieden werden, da es mehr Probleme bereitet als löst. WebRequests lösen selber nur kurzlebige Threads aus, die selber keinen Thread beinhalten sollten.

Für was benötigst du den HttpListenener? Den Zusammenhang zwischen Web, Silverlight und HttpListenener ist aus deinem Post nicht wirklich ersichtlich.

Falls du mit Silverlight auf die Daten aus der Webanwendung kommen willst, ist der IIS schon dein HttpListenener und du kannst die Daten per WCF bereitstellen und konsumieren.

P
punkdevil Themenstarter:in
992 Beiträge seit 2007
vor 13 Jahren

In meiner Silverlight Anwendung verwalte ich Dateien ähnlich wie im Dateiexplorer. Diese Dateien werden in einer Datenbank gespeichert. Auf die Daten greife ich mit Entity Framework + RIA Services zu.
Datei hoch-/runterladen klappt gut. Nun möchte ich aber eine Datei "Öffnen", d.h. die verknüpfte Anwendung soll die Datei öffnen (z.B. Worddatei, soll von Word geöffnet werden). Aus der Silverlightclient-Anwendung ist dies aus Sicherheitsgründen nicht möglich. Ich dachte mir nun, dass ich die Datei mit einem HttpServer unter einer URL zur Verfügung stelle. In der Silverlightclient-Anwendung öffne ich eine neues Broweserfenster mit der URL der Datei. Daraufhin lädt der Browser die Datei runter und bietet dann den Standarddialog zum Öffnen oder Speicher der Datei an.

Mir ist leider bis jetzt nichts besseres eingefallen. Ein separater Windowsdienst würde natürlich auch gehen, aber der müsste dann auch auf die DB zugreifen und die Dateien auslesen. Dies wird aber bereits von der Webanwendung gedacht und da dachte ich, dass die Webanwendung direkt den HttpListener aufmacht.