我们正在为 ASP.NET 4.0 框架和 IIS 6.0 上的企业创建网站 - 必须拥有最佳模式和实践。
问题:
我们需要在业务逻辑层访问网络目录。
澄清:
我们在一个单独的项目中内置了一个业务逻辑层。我们需要如何访问网络目录内容?是直接 (\XYZ123\folder\folder\file.xml) 还是通过 IIS?
如果是通过IIS,如何访问虚拟目录映射的网络目录——在业务逻辑项目中不能使用Server.MapPath(),因为它属于Page!
让我知道其他更好的选择,谢谢,
UI 层可以使用 Server.MapPath() 将文件的绝对路径发送给业务逻辑。
请查看此线程: httpcontext.current.server.mappath Object reference not set to an instance of an object
我已经使用了库中的 system.web.httpcontext.current.mappath(),只要它被您的 Web 应用程序使用,它就应该可以工作(您可能需要在项目中添加对 system.web 的引用)。我没有使用他们推荐的 httpruntime 解决方案,但它看起来也很有希望。祝你好运。