zoukankan      html  css  js  c++  java
  • 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——获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

  • 相关阅读:
    MySQL 主主同步配置和主从配置步骤
    Nginx 禁止访问某个目录或文件的设置方法
    LNMP笔记:更改网站文件和MySQL数据库的存放目录
    centos最小安装 setuptools安装
    mkdir命令
    linux的mount(挂载)命令详解
    Java中wait()和notify()方法的使用
    剑指 offer面试题22 栈的压入和弹出序列
    剑指 offer面试题20 顺时针打印矩阵
    Leetcode 23.Merge Two Sorted Lists Merge K Sorted Lists
  • 原文地址:https://www.cnblogs.com/aehyok/p/2994559.html
Copyright © 2011-2022 走看看