MapPath mit RequestContext im WCF-Dienst
DieseMSDN-Artikel sagt:
HttpContext: Current is always null when accessed from within a WCF service. Use RequestContext instead.
Ich versuche, einige XSD-Dateien von meinem von IIS gehosteten WCF-Dienst zu laden. Das Problem ist, dass ich nicht herausfinden kann, wie man einen Server.MapPath () wie auf einer alten Vanilla ASP.NET-Website erstellt.
HttpContext.Current.Server.MapPath(schemaUri);
Was wäre die äquivalente Verwendung von RequestContext in einem von IIS gehosteten WCF-Dienst?
Die Schemata befinden sich in einem "Schemas" -Verzeichnis im Stammverzeichnis der Dienstanwendung. Sie werden mit einem benutzerdefinierten Konfigurationsabschnitt in der web.config wie folgt referenziert:
<code><schemas> <add uri="~/Schemas/foo.xsd" xmlNamespace="http://foo.bar/types" /> </schemas> </code>
Und ich habe versucht, wie folgt zu laden:
var schemaUri = HttpContext.Current.Server.MapPath(schema.Uri);
Das funktioniert problemlos auf einer normalen ASP.NET-Website, nur nicht auf einem von IIS gehosteten WCF-Dienst.