Laden...

[erledigt] Zugriff auf App_Data WCF

Erstellt von Beppo98 vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.281 Views
B
Beppo98 Themenstarter:in
71 Beiträge seit 2009
vor 14 Jahren
[erledigt] Zugriff auf App_Data WCF

Hallo,

ich habe einen WCF-Service, welcher von einer XBAP-Anwendung aufgerufen wird. Da ich aber über die XBAP-Anwendung durch Partial-Trust keine Rechte für den Dateizugriff habe, möchte ich diesen über den WCF-Service realisieren.

Leider habe ich jetzt wohl eine sehr einfache Frage. Ich möchte vom Webservice auf das App_Data-Verzeichnis des WCF-Services zugreifen, welches auf dem IIS liegt.

Meine Dateien liegen also im App_Data-Verzeichnis auf dem IIS.

Wie realisiere ich sowas?

Vielen Dank bereits jetzt für die Antwort.

Gruß Beppo

1.274 Beiträge seit 2005
vor 14 Jahren

Dein WCF Service läuft nicht im Partial Trust.
Du kannst einfach darauf zugreifen, da er nur die Restriktionen vom Webserver hat und als Dienst darf er auf das Verzeichnis zugreifen.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

B
Beppo98 Themenstarter:in
71 Beiträge seit 2009
vor 14 Jahren

Dein WCF Service läuft nicht im Partial Trust.
Du kannst einfach darauf zugreifen, da er nur die Restriktionen vom Webserver hat und als Dienst darf er auf das Verzeichnis zugreifen.

Danke schon einmal für deine Antwort.

Aber bis zu diesem Punkt bin ich auch schon gekommen 😉 Ich glaube meine Frage ist einfach zu leicht 😉

Ich habe einen WCF-WebService, welcher auf dem lokalen IIS 6.0 läuft. Auf dem lokalen IIS habe ich unter dem Pfad C:\Inetpub\wwwroot\Projektname\App_Data eine Datei hinterlegt, auf welche ich vom WebService aus zugreifen möchte.

Wie mache ich jetzt das, also wie greife ich ganz normal auf die Datei zu?

Gruß Beppo

1.274 Beiträge seit 2005
vor 14 Jahren

Kommt drauf an, wenns nur wenig Daten sind kannst es einfach zurückgeben lassen.

So könnte dann dein Contract aussehen

public string GetMyFileText()

Einfach den Inhalt, auf diese weise zurückgeben.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

B
Beppo98 Themenstarter:in
71 Beiträge seit 2009
vor 14 Jahren

Mein Problem sind jetzt eigentlich nicht die Methoden, sondern der Dateizugriff selbst.

Wenn ich z.B. im WCF-Service versuche, dass aktuelle Verzeichnis auszulesen, bekomme ich folgendes Ergebnis:

Dim DInfo As New System.IO.DirectoryInfo(".")

--> FullName: C:\WINDOWS\system32

Wie kann ich nun mit System.IO.File(?) auf z.B. die Datei "Daten.txt" im Verzeichnis C:\Inetpub\wwwroot\Projektname\App_Data vom WebService aus zugreifen? Also wie finde ich den Pfad zum App_Data-Verzeichnis vom Webservice raus?

Gruß Beppo

1.274 Beiträge seit 2005
vor 14 Jahren

Vielleicht hilft dir das hier weiter


HttpContext.Current.Server.MapPath("~/App_Data");

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

B
Beppo98 Themenstarter:in
71 Beiträge seit 2009
vor 14 Jahren

Das sieht sehr gut aus =)

Vielen Dank für die Hilfe zur Lösung meines Problems und sorry für die eventuell unklare Problemstellung 😉

Gruß Beppo

B
Beppo98 Themenstarter:in
71 Beiträge seit 2009
vor 14 Jahren

Anscheinend habe ich jetzt doch mit dem obigen Code ein Problem.
In einer WebService-Funktion ermittle ich mit obigen Code den Pfad des App_Data Verzeichnises. Der WebService wird von einer XBAP-Anwendung eingebunden.

Solange ich die Applikation lokal ausführe funktioniert alles einwandfrei. Sobald ich die Applikation mit WebService aber auf einem Server im lokalen Netzwerk veröffentliche und die XBAP herunterlade, hat er anscheinend ein Problem mit dem obigen Code.

Meiner Einschätzung nach ermittelt er auf dem Server den Pfad falsch 🤔

Kann mir hierbei vielleicht jemand weiterhelfen?

Gruß Beppo

B
Beppo98 Themenstarter:in
71 Beiträge seit 2009
vor 14 Jahren

So, nachdem ich das Problem nun gelöst habe kann ich euch mitteilen, dass das Problem nicht mit obigen Code in Zusammenhang stand.

Der Code funktioniert also lokal sowie remote einwandfrei.

Vielen Dank nochmals für die Hilfe.

Gruß Beppo