Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[erledigt] Zugriff auf App_Data WCF
Beppo98
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

[erledigt] Zugriff auf App_Data WCF

beantworten | zitieren | melden

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
Dieser Beitrag wurde 6 mal editiert, zum letzten Mal von Beppo98 am .
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Beppo98
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

Zitat von LastGentleman
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
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Beppo98
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Beppo98
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Beppo98
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Beppo98
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers