Comment MapPath avec RequestContext en Service WCF

Ce Article MSDN dit:

HttpContext: Current is always null when accessed from within a WCF service. Use RequestContext instead.

Ce que je suis en train de faire est de charger certains fichiers XSD à partir de mon IIS hébergé service WCF. Le problème est, je ne peux pas comprendre comment faire un Serveur.MapPath() comme je suis en tout vieux vanille ASP.NET site web, quelque chose comme:

HttpContext.Current.Server.MapPath(schemaUri);

Ce qui serait l'équivalent, en utilisant RequestContext dans un IIS hébergé service WCF?

Les schémas sont situés dans un des "Schémas" de répertoire à la racine de l'application de service. Ils sont référencés à l'aide d'une configuration personnalisé dans la section web.config comme ceci:

<schemas>
    <add uri="~/Schemas/foo.xsd" xmlNamespace="http://foo.bar/types" />
</schemas>

Et j'ai essayé de charger comme ceci:

var schemaUri = HttpContext.Current.Server.MapPath(schema.Uri);

Qui fonctionne très bien à partir de l'intérieur d'une normale ASP.NET site web, tout simplement pas un IIS hébergé service WCF.

OriginalL'auteur Didaxis | 2012-04-30