访问webservice/website调用的类中的HostingEnvironment.MapPath()
本文关键字:HostingEnvironment MapPath website 调用 访问 webservice | 更新日期: 2023-09-27 18:19:35
我有一个项目,它包含可供ASP.NET WebApplication和WCF服务使用的共享功能。
共享项目是一个类库,并且对文件有一些依赖关系。
通常,我会简单地调用HostingEnvironment.MapPath()
来解析这些依赖关系,但在这种情况下这是不可能的,因为System.Web
不可用(它是一个类库)。
我唯一真正的选择是传递到类库的绝对路径吗?这将需要我做一些进一步的处理,因为它将是各个项目的根,而不是类库的根。
最终我找到了以下解决方案:
- 设置依赖文件的属性:复制到输出目录=如果更新则复制
- 这将文件复制到宿主环境的bin文件夹中(因此它将从类库将其复制到WCF服务或WebApplication中)
HostingEnvironment.ApplicationPhysicalPath
然后返回此位置
不同的是,在构建时,文件被跨项目复制(我不知道copy if newer
会这么做)。因此,我可以从应用程序的bin(而不是像以前那样从类库)访问文件。