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 专业开发: 气象软件、监狱网上购物系统、两法衔接平台
  • 相关阅读:
    MySql 定时完成备份
    smarty插件
    PHP字符串函数小结
    eclipse搭建maven project的spring4 spring mvc mybatis
    C#数组存入引用类型
    C#数组
    【转】Linus:利用二级指针删除单向链表
    [LeetCode] Reverse Linked List II
    ubuntu配置git
    mint安装Node.js
  • 原文地址:https://www.cnblogs.com/sucsy/p/sucsy.html
Copyright © 2011-2022 走看看