zoukankan      html  css  js  c++  java
  • 关于Server.MapPath和HostingEnvironment.MapPath

    最近做的项目需要在Controller里重写一个static的方法,在方法内用常用的Server.MapPath会报一个错误:An object reference is required for the non-static field, method, or property 'Controller.Server'。从错误可以看出来,Server.MapPath并不是一个static方法,所以使用HostingEnvironment的MapPath方法作为替代,这是一个static的方法。

    查了下,Server.MapPath实际上最终还是调用了HostingEnvironment.MapPath,但他俩也不是完全的相等,存在一些区别,Server.MapPath用创建了一个VirtualPath的object。


    VirtualPath.Create(path, VirtualPathOptions.AllowAllPath|VirtualPathOptions.AllowNull);
    所以Server.MapPath相对来说增加了一些功能,对比如下:

    1、Server.MapPath接受null,HostingEnvironment.MapPath不可以

    2、HostingEnvironment.MapPath不接受相对路径

    因为Server.MapPath需要HttpContext,所以大多数时候都可以直接用HostingEnvironment.MapPath,除非会出现以上两种情况。目前测试出来的就这两种,其他的情况还需要后续验证。
    ---------------------
    作者:xrjohn
    来源:CSDN
    原文:https://blog.csdn.net/xrjohn/article/details/50952503
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    阶梯式测试
    websocket协议
    性能指标
    环境变量
    解密断言+参数写入文本
    将参数进行URL编码
    日志级别
    对返回结果进行断言
    python小题目:循环/函数
    如果使用JSON提取器 和正则提取器
  • 原文地址:https://www.cnblogs.com/jiangyunfeng/p/11260602.html
Copyright © 2011-2022 走看看