WCF HttpContext.Current为空的问题

原来在项目中使用HttpContext.Current没什么问题,但是到了中期阶段,项目重构等,并且要求使用WCF,所以就出现了HttpContext.Current为null的问题。

现在在项目解决的第一种方案是

	public class Utils
	{
		public static string ExeFullPath;				//	当前EXE的全路径名称
		public static string ExeDir;					//	当前EXE文件所在的目录
		public static string ExeFileName;				//	当前EXE文件的文件名称
		public static string AppConfigFileName;		//	.NET程序缺省配置文件文件名(WinForm版本)
		public static string AppConfigFullPath;			//	.NET程序缺省配置文件的全路径名称(WinForm版本)
		
		static Utils()
		{
			ExeFullPath			= Assembly.GetEntryAssembly().Location;
			ExeDir				= Path.GetDirectoryName(ExeFullPath);
			StrUtils.EnsureEndsWith(ref ExeDir, '\\');
			ExeFileName			= Path.GetFileName(ExeFullPath);
			AppConfigFileName	= ExeFileName + ".config";
			AppConfigFullPath	= ExeFullPath + ".config";	
		}
	}

调用的是的时候就直接Utils.ExeFullPath,这样就获取了当前EXE文件的全路径名称。

当然也可以通过以下几种方式进行处理,通过调试你就会发现问题的症结。

 

System.AppDomain.CurrentDomain.BaseDirectory。

1. Application.StartupPath——获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。  
2. Environment.CurrentDirectory——获取和设置当前目录(即该进程从中启动的目录)的完全限定路径,只是“当前”目录,不一定是exe文件所在的目录。在用FileOpenDialog选择一个文件以后这个目录就跟着发生改变了。  
3. Application.ExecutablePath——获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

 


<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值