2009-06-03 15 views
0

Ich habe einen WCF-Webdienst, den ich in IIS hosting (tatsächlich innerhalb des Visual Studio Webhost, d. H. Cassini).WCF-Dateiberechtigungen?

Ich habe eine Datei, auf die ich im Stamm des Webverzeichnisses vom Dienst zugreifen muss, und habe Probleme beim Ermitteln der Benutzeridentität, auf die der Dienst auf das Verzeichnis zugreift. Ich habe ASPNET, NETWORK SERVICE und IUSR die Erlaubnis gegeben, aber keine davon scheint zu funktionieren.

Wer weiß, welcher Benutzer ein WCF-Dienst ist, wenn er in IIS gehostet wird?

MEHR INFO:

die Tat, der WCF-Dienst wird als ich läuft (meine Windows-Konto), aber aus welchen Gründen auch immer, es kann immer noch nicht eine Datei in seinem Stammverzeichnis öffnen. Die Datei ist mit "Zugriff verweigert" fehlgeschlagen. Ich habe "Jeder" die volle Kontrolle über den Ordner gegeben, und es scheint nicht wichtig zu sein.

Antwort

0

In Ordnung ... herausgefunden, das Problem. Stellt fest, dass die Datei, die ich öffnen wollte, als schreibgeschützt gekennzeichnet war, also konnte .NET sie nicht zum Schreiben öffnen. Passaged FileAccess.Read zu der File.Open() -Methode, und jetzt wird es geöffnet.

Nicht in Bezug auf WCF selbst.

0

Wenn Sie yr serive mit Cassini ausführen, wird es der Benutzer sein, der an diesem Computer angemeldet ist. Also wahrscheinlich Ihr Benutzername, den Sie verwendet haben, um sich an diesem Rechner anzumelden. Geben Sie diesem Benutzer die Berechtigung, die Datei zu lesen und es zu versuchen.

Bei IIS hängt es von Ihrer Anwendungskonfiguration ab. Sie können den App-Pool unter jedem Benutzerkonto erstellen und Ihre Anwendung wird mit diesem Pool ausgeführt. Der Standardbenutzer in IIS ist NETWORK SERVICES.

+0

Hmmm ... beide diese Benutzer haben vollständige Berechtigungen für das Verzeichnis, aber es funktioniert immer noch nicht. Vielleicht vermisse ich etwas ... –