zoukankan      html  css  js  c++  java
  • 在WCF中调用Server.MapPath 获取服务发布目录路径 南京酷得软件

    昨晚编写WCF服务时因为一个小问题搞了很晚才解决。

    在WCF中想使用Server.Map获取当前服务发布目录的绝对路径。可是在调试时却发现:

    “System.Web.HttpContext.Current.Server.MapPath("..." + filename);”

    这个语句中的HttpContext总是为null,到网上翻了好久才了解:

    “当没有开启ASP.NET相容模式时(aspNetCompatibilityEnabled="true"),WCF不支持HttpContext, HttpApplication,大部分文章都建议修改<serviceHostingEnvironment aspNetCompatibilityEnabled="true">使WCF可使用ASP.NET传统做法。”

    最后有两种解决方法:

    string t1 = System.Web.HttpContext.Current.Server.MapPath("~");
    //以上写法在WCF未开aspNetCompatibilityEnabled时,
    //会因HttpContext.Current == null发生错误       
    string t2 = System.Web.Hosting.HostingEnvironment.MapPath("~");
    //以上写法在WCF中使用没有问题
     
    使用方法如:

    System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("~\\IsoLineFile\\IsoLineFiles.txt"));

               

     
    希望以上记录能对大家有所帮助。
    sucsy 2011-9-23
    公司网站: http://www.codersoft.cn 专业开发: 气象软件、监狱网上购物系统、两法衔接平台
  • 相关阅读:
    多线程
    序列化
    IO流
    递归
    JAVA异常处理
    java常用类-StringBuffer,Integer,Character
    系统测试过程
    备份,健壮,文档,在线帮助,网络,稳定性测试
    异常测试/恢复性测试(可靠)
    配置测试
  • 原文地址:https://www.cnblogs.com/sucsy/p/sucsy.html
Copyright © 2011-2022 走看看