当前上下文中不存在名称“HttpContext”

lude8880 2008-11-17 10:43:27
        private XmlDocument loadConfigDoc(XmlDocument cfgDoc)
{
// load the config file
if (Convert.ToInt32(ConfigType) == Convert.ToInt32(ConfigFileType.AppConfig))
{
docName = ((Assembly.GetEntryAssembly()).GetName()).Name;
docName += ".exe.config";
}
else
{
docName = HttpContext.Current.Server.MapPath("web.config");//错误在这里
}
cfgDoc.Load(docName);
return cfgDoc;
}

我按System.Web.自动完成也没有HTTPcontext这个类!
...全文
3010 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhonghua06 2012-07-11
  • 打赏
  • 举报
回复
怎么回事呢,
jietuan 2008-11-17
  • 打赏
  • 举报
回复
你在winform 下面引用 webform 下面的东西,肯定要添加System.Web引用
  • 打赏
  • 举报
回复
你是在什么环境下运行这段代码的?是网站不?
lude8880 2008-11-17
  • 打赏
  • 举报
回复
加入了啊
wuyq11 2008-11-17
  • 打赏
  • 举报
回复
using System.Web;
heyu1000 2008-11-17
  • 打赏
  • 举报
回复
你要将System.Web添加引用进来才行
  • 打赏
  • 举报
回复
很奇怪为什么你会在winform里去获取web.config,在winform里配置文件会生成和应用程序一样的名称的config,给一段我读取配置文件的代码。

public static class ConfigurationManager
{
private const string CONFIGURATIONSIGN = "ConfigurationManager_CONFIGURATIONSIGNCOLLECTION";

private static ConfigurationSectionCollection _configurationSections;

/// <summary>
/// 所有sections集合
/// </summary>
public static ConfigurationSectionCollection Current
{
get
{
if (_configurationSections == null)
{
lock (CONFIGURATIONSIGN)
{
if (_configurationSections == null)
{
_configurationSections = GetConfigurationSectionCollection();
}
}
}
return _configurationSections;
}
}

private static ConfigurationSectionCollection GetConfigurationSectionCollection()
{
try
{
System.Configuration.Configuration cfg;
if (HttpContext.Current != null)
{
cfg = WebConfigurationManager.OpenWebConfiguration("~/web.config");
}
else
{
// Windows forms application
ExeConfigurationFileMap file = new ExeConfigurationFileMap();
Process process = Process.GetCurrentProcess();
string fileName = process.ProcessName;
file.ExeConfigFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, string.Concat(fileName ,".exe.config"));
cfg = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(file, ConfigurationUserLevel.None);
}
if (cfg == null)
{
throw new ConfigurationErrorsException("配置文件读取错误!");
}
return cfg.Sections;
}
catch (ConfigurationErrorsException configurationException)
{
throw new ConfigurationErrorsException(String.Format("读取配置文件出错:{0}", @"'ApplicationConfiguration'"), configurationException);
}
}
}
  • 打赏
  • 举报
回复
winform 里肯定为空,因为这个属性只有在网站里才会被加载。
lude8880 2008-11-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tmxk2002 的回复:]
你是在什么环境下运行这段代码的?是网站不?

[/Quote]
winform addin.
System.Web我添加了

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧