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
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
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
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
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
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
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
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
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