2

在哪里可以找到 System.Web.HttpContext.Current.Server dll。我想在我的代码中使用 Server.MapPath(),它需要 System.Web.HttpContext.Current.Server 命名空间。即使从参考资料中我也找不到 System.Web.HttpContext.Current.Server 并将其添加到我的解决方案中。有什么帮助吗?

4

3 回答 3

5

右键单击References >> 然后单击Add Reference并在Assemblies下单击Framework和 Search System.Web并选中复选框并单击OK按钮以将其引用添加到您的项目中:

在此处输入图像描述

您现在有参考,System.Web现在您可以使用System.Web命名空间/程序集下的所有类型和方法,在您的情况下HttpContext

System.Web.HttpContext

于 2014-12-02T06:58:27.003 回答
5

System.Web.HttpContext.Current.Server不是命名空间。让我们分解一下:

  • System.Web是一个命名空间
  • HttpContext是一个类型(在System.Web程序集中)
  • Current是一个静态属性HttpContext,返回一个HttpContext引用
  • Server是 中的一个实例属性HttpContext,类型HttpServerUtility

所以你需要的组件System.Web是;您在指令中需要的命名空间using(如果需要)是System.Web.

所以:

using System.Web;
...
var path = HttpContext.Server.Current.MapPath(...);

HostingEnvironment.MapPath请注意,据我所知,更现代的等价物是,它不依赖于当前的 HTTP 上下文。(HostingEnvironmentSystem.Web.Hosting命名空间中,但仍在System.Web程序集中。)

于 2014-12-02T07:00:57.057 回答
2

它是System.Web. 您应该添加对System.Web.

于 2014-12-02T07:00:17.870 回答