访问由webservice / website调用的类中的HostingEnvironment.MapPath()

时间:2013-06-24 09:47:08

标签: c# asp.net .net wcf class

我有一个项目,其中包含可由ASP.NET WebApplication和WCF服务使用的共享功能。

共享项目是一个类库,并且对文件有一些依赖性。

通常我只是简单地调用HostingEnvironment.MapPath()来解决这些依赖关系,但是由于System.Web不可用(它是一个类库),因此在这种情况下不可能这样做。

我唯一真正的选择是将绝对路径传递给类库吗?这需要我做一些进一步的处理,因为它是各个项目的根,而不是类库的根。

1 个答案:

答案 0 :(得分:0)

最后我找到了以下解决方案:

  • 设置相关文件的属性:复制到输出目录=如果更新则复制
  • 这会将文件复制到托管环境的bin文件夹中(因此它会将其复制到WCF服务或类库中的WebApplication中)
  • HostingEnvironment.ApplicationPhysicalPath然后返回此位置

不同之处在于构建时正在复制文件跨项目(我不知道copy if newer这样做了)。因此,我可以从应用程序的bin中访问文件(而不是之前尝试过的类库)。