博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在WCF中调用Server.MapPath 获取服务发布目录路径
阅读量:5898 次
发布时间:2019-06-19

本文共 840 字,大约阅读时间需要 2 分钟。

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

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

“当没有开启时(="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中使用没有问题 1. Application.StartupPath——获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。    2. Environment.CurrentDirectory——获取和设置当前目录(即该进程从中启动的目录)的完全限定路径,只是“当前”目录,不一定是exe文件所在的目录。在用FileOpenDialog选择一个文件以后这个目录就跟着发生改变了。    3. Application.ExecutablePath——获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 4。System.AppDomain.CurrentDomain.BaseDirectory——获取基目录,它由程序集冲突解决程序用来探测程序集。(windows服务中使用) 程序员的基础教程:

转载地址:http://oyhsx.baihongyu.com/

你可能感兴趣的文章
Linux/Centos 重置Mysql root用户密码
查看>>
[C语言]unicode与utf-8编码转换(一)
查看>>
linux进程管理及kill命令详解
查看>>
二:Unit 4
查看>>
shell if
查看>>
利用PDO导入导出数据库
查看>>
DDR3
查看>>
分支 统计字数
查看>>
艾级计算机的发展与挑战
查看>>
我的友情链接
查看>>
RocketMQ事务消息实战
查看>>
mysql-mmm-2.2.1安装手册
查看>>
搭建yum源服务器
查看>>
delphi使用ado导出excel
查看>>
linux 命令详解 二十三
查看>>
IT职场人生系列之二:大学生活
查看>>
4.一对多关联映射
查看>>
手把手教你做出好看的文本输入框
查看>>
zabbix 3.2.7 (源码包)安装部署
查看>>
看懂此文,不再困惑于 JS 中的事件设计
查看>>