如何在 WCF 服务中使用 RequestContext 映射路径

本文关键字:RequestContext 映射 路径 WCF 服务 | 更新日期: 2023-09-27 18:32:38

这篇MSDN文章说:

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

我正在尝试做的是从我的 IIS 托管的 WCF 服务加载一些 XSD 文件。问题是,我无法弄清楚如何像在任何旧的香草 ASP.NET 网站中那样做Server.MapPath(),如下所示:

HttpContext.Current.Server.MapPath(schemaUri);

在 IIS 承载的 WCF 服务中使用 RequestContext 的等效方法是什么?

架构位于服务应用程序根目录下的"架构"目录中。它们使用 web.config 中的自定义配置部分进行引用,如下所示:

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

我试图像这样加载:

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

这在普通 ASP.NET 网站中工作正常,只是不是 IIS 托管的 WCF 服务。

如何在 WCF 服务中使用 RequestContext 映射路径

您可以使用

HostingEnvironment.MapPath。