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

Posted

技术标签:

【中文标题】当前上下文中不存在名称“HttpContext”【英文标题】:The name 'HttpContext' does not exist in the current context 【发布时间】:2011-10-19 21:30:00 【问题描述】:

我正在尝试将一些 vb.net 转换为 C#,但我不断收到错误。目前,我收到标题中的错误。

问题线是:

string[] strUserInitials = HttpContext.Current.Request.ServerVariables("LOGON_USER").Split(Convert.ToChar("\\"));

有人知道为什么会这样吗?

我正在开发一个网络服务(asmx 文件)。

我在代码顶部有以下内容:

using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;

【问题讨论】:

因为它是一个WebService,你可以尝试使用OperationContext来代替吗? 我现在收到The name 'OperationContext' does not exist in the current context 我认为是下面@alun 发布的 [] 括号 【参考方案1】:

你必须引用 System.Web 并导入命名空间 System.Web:

using System.Web;

我根本不会使用 Convert:

string[] strUserInitials = System.Web.HttpContext.Current.Request.ServerVariables["LOGON_USER"].Split('\\'));

【讨论】:

【参考方案2】:

using System.Web;using System;放入源文件...

【讨论】:

【参考方案3】:

你需要 [] 而不是 ():

string[] strUserInitials = System.Web.HttpContext.Current.Request.ServerVariables["LOGON_USER"].Split(System.Convert.ToChar(@"\"));

【讨论】:

现在得到The name 'Convert' does not exist in the current context Convert 位于系统命名空间中,因此要么将其更改为 System.Convert,要么使用 System 添加; @shirowanen:你为什么使用 Convert?使用'\\'。 添加System.Web.dll参考,检查如何做到这一点here,希望对一些人有所帮助。

以上是关于当前上下文中不存在名称“HttpContext”的主要内容,如果未能解决你的问题,请参考以下文章

arcengine显示当前上下文中不存在名称怎么办

CS0103: 当前上下文中不存在名称“DataHelper”

C# 当前上下文中不存在名称“Console”

当前上下文中不存在名称

当前上下文不存在名称

编译器错误消息: CS0103: 当前上下文中不存在名称