问题标签 [httpcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1607 浏览

c# - webpart context.session 为空

我一直在使用会话数组来存储我的 webpart 的状态变量......所以我有一个这样的属性:

这通常工作正常。我发现有时 context.session 变量将为空。

我想知道首先导致会话为空的条件是什么,以及在发生这种情况时保持我的对象的最佳方法是什么?我可以只为上下文分配一个新的 HttpSessionState 对象,还是搞砸了?


编辑:好的,所以它不仅仅是空的会话......整个上下文都搞砸了。当 webpart 进入 init 时,上下文很好......但是当它到达 dropbox selectedindexchange 回发事件(dropbox 包含用于设置 rootnode 变量的节点 ID)时,上下文主要包含 null 属性。

此外,它似乎只在选择某些 id 时发生。这看起来更像是我的某种奇怪的错误,而不是我对会话的理解的问题。

0 投票
0 回答
300 浏览

asp.net - HttpContext 用户值自行改变?

我正在开发一个 ASP.Net 2.0 应用程序,并且遇到了一个涉及 HttpContext 用户的奇怪问题。当我转到特定页面/目录时,它似乎会自行改变。

我们所有的页面都继承自一个基本页面。在该基本页面的 Page_Load() 方法中,我们运行授权检查以查看用户是否可以看到他们要去的页面。

我们检索用户以使用以下代码进行检查:

当我进入这个不寻常的目录时,用户值不是我,而是我从未听说过的其他用户名。此用户名无权查看这些页面,因此授权失败。

这个神秘的目录不是虚拟网络,只是我们网站中的一个常规目录,但是我注意到它有自己的 Web.Config 文件。我猜这是造成这里麻烦的原因。

我的问题是,我如何进一步调查这一点,以确定当我转到此目录时用户值发生了什么变化?

[编辑] -- 当我删除或重命名此目录中的 web.config 文件时,用户值不再更改。但是,正如下面评论中提到的那样,它没有任何价值,所以我不确定 Principal.User 值如何仅根据文件的存在而改变?一定是我当然想念的东西。

0 投票
1 回答
567 浏览

asp.net - Context.Items 是用户范围还是应用范围?

我想使用 Context.Items 来存储用户控件的一些信息,例如:

我想知道,Context.Items 是针对每个请求还是针对应用程序是全局的?

0 投票
1 回答
8955 浏览

asp.net-mvc - 在 HttpContext.Current.Items 与 ViewData 中存储数据

什么时候适合将数据存储在HttpContext.Current.Items[...]vs 将数据存储在ViewData[...]

我正在尝试找出在此集合中存储数据的最佳做法,但我不确定将用户特定的数据存储在HttpContext.Current.Items.

一个用例是从基本控制器传递用户积分,OnActionExecuting(...)用于Controller计算和显示Views;我知道我应该使用ViewData它,但我有一些与嵌套局部视图不一致的结果。

说喜欢HttpContext.Current.Items[...]就是观点对吗?ControllersViewData[...]

0 投票
1 回答
293 浏览

asp.net - 如何获取隔离代码块的 .NET HttpContext

在 .NET 中是否可以从外部类中获取当前页面的 HttpContext?

因此,例如在我的页面 test1.aspx 代码隐藏中,我得到了:

但是在FeedWriter.vb里面,可以得到test1.aspx的HttpContext吗?还是我必须将它传递给 Run()?(我不愿意做后者,因为 FeedWriter 实现了一个接口,如果要接受参数,则需要重新编写该接口)

干杯,马特

0 投票
2 回答
5056 浏览

.net - 缺少 HttpContext

我有一个项目作为参考添加到 System.Web。

但是,它似乎无法获取 HttpContext。这样做:

告诉我 HttpContext 没有声明。如果您查看 System.Web 中的方法和属性,几乎没有任何显示:只有 AspHostingPermission、AspHostingPermissionAttribute、AspHostingPermissionLevel 和 Services。

引用有效并指向正确的位置。这让我发疯 - 我错过了什么?

干杯,马特

0 投票
2 回答
5265 浏览

asp.net - 从类调用时 HttpContext.Current.Request.UserHostName 为空

我有各种网页需要建立一个 URL 以显示或放置在发出的电子邮件中。我继承的代码在名为 FixedConstants 的公共类中的公共常量中具有网络服务器名称的这个值。例如:

为了改进这一点,我写了这个:

我在调试时尝试了不同的方法,例如 HttpContext.Current.Request.UserHostName,但我总是得到一个空字符串,它会输出我的默认字符串“SomeWebServer”。

我知道 Request.UserHostName 或 Request.ServerVariables("REMOTE_HOST") 在从页面调用时有效,但为什么从类文件的调用方法(即 UIFunction.vb)调用时返回空?

0 投票
1 回答
736 浏览

wcf - IIS:没有会话被分发,但仅在生产中

我在一个简单的项目中复制了这一点 - 详情如下。它是 ASP.NET 兼容模式下的 WCF 服务。我看到的是,当在开发机器(Win7)上运行时,服务操作中可以使用 HTTP 会话 ID(HttpContext.Current.Session 为非空)。但是当部署到服务器(Win2k8R2)时,我得到“无会话”。在两台机器上,应用程序都配置为使用经典应用程序池,据我所知,应用程序池本身的配置相同。

我可以辨别这两个应用程序之间的唯一区别是,在开发框的“处理程序映射”下,ISAPI-dll 被禁用(不在服务器上),并且在服务器上有一个名为“AboMapperCustom-7105160”的虚假处理程序(开发盒上不存在)。

接下来我应该看什么?我错过了一些非常简单的东西吗?

服务是这样的:

配置是:

使用简单的控制台应用程序进行测试:

0 投票
1 回答
2065 浏览

asp.net - 授权属性中的 UrlHelper 和 ViewContext

我有一个我无法解决的场景:

我正在为 mvc 创建自己的自定义授权属性。我想添加的主要功能是能够在用户不在特定角色时更改用户被重定向的位置。如果他们没有经过身份验证,我不介意系统将它们发送回登录页面,但是如果他们经过身份验证但不允许访问该操作方法,我想选择将它们发送到哪里。

这是我想做的事情:

作为额外的奖励,我希望在进行重定向之前能够访问 ViewContext 和 TempData。

关于如何在属性中实例化 UrlHelper 和 ViewContext 有什么想法吗?

0 投票
1 回答
1371 浏览

asp.net - 使用 NUnit 测试 ASMX Web 服务并传输会话状态

我有一个 NUnit 测试类,它启动一个在http://localhost:1070上运行的 ASP.NET Web 服务(使用 Microsoft.VisualStudio.WebHost.Server)

我遇到的问题是我想在 NUnit 测试中创建一个会话状态,该会话状态可由 localhost:1070 上的 ASP.NET Web 服务访问。
我做了以下,在NUnit Test里面可以成功创建会话状态,但是在调用web服务的时候就丢失了:

我希望能够获取在 ASP.NET Web 服务中的 Session["UserName"] 的 NUnit 测试中创建的会话状态:

web.config 文件具有以下会话状态配置配置,并且希望继续使用 InProc 而不是 StateServer 或 SQLServer: