问题标签 [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 投票
1 回答
535 浏览

sharepoint - 如何将 HTTPContext 用于 SPList

我有以下要求。

现在我想将其显示destinationList为 Web 部件,并且每次用户加载页面时,都应该重新填充它。

我怎样才能用 HTTPContext 实现呢?

0 投票
3 回答
35449 浏览

asp.net-mvc - 带有 ASP.NET MVC 的 HttpContext.Items

我正在使用我自己的使用单例模式的 ApplicationContext 类。我想将它的实例存储在 HttpContext.Items 中,因为它可以在请求的所有部分中访问。我一直在阅读有关将 HttpContext 与 ASP.NET MVC 结合使用的信息,主要的痛点之一是它引入了测试复杂性。我试过研究 HttpContext.Items 的可测试性,但我能找到的只是 Session 上的东西。我发现的唯一内容之一是关于 Wrox 的 Professional ASP.NET 3.5 MVC 书的示例章节(此处为 pdf 链接)。在第 15 页上,它说:

你不能使用的东西:HttpContext.Items
在本节的上面,我们坦白告诉你我们对你撒了谎:HttpContext 不在 ASP.NET MVC 和 ASP.NET Web 窗体之间共享。因此,您不能使用 HttpContext.Items 集合来存储和检索数据位。

这样做的原因是因为一旦你重定向到一个Controller,你的HttpHandler就变成了System.Web.Mvc.MvcHandler,它是使用HttpContextWrapper创建的,它会有自己的HttpContext.Current定义。不幸的是,在这个握手过程中,像 HttpContext.Items 这样的东西没有被传输。

这归结为 HttpContext 类型,尽管看起来和听起来非常相似,但并不相同,并且您不能以这种方式传递数据。

现在,我已经尝试对此进行测试,据我所知,如果您使用 RedirectToAction 重定向到另一个控制器,HttpContext.Items 确实会保留。我正在使用默认的 ASP.NET MVC 项目来测试它。我所做的是,将此方法添加到 Global.asax.cs:

在 HomeController.cs 中,我将 Index 方法更改为:

并将 About 方法更改为:

当我运行应用程序时,页面会正确重定向到 /Home/About 和 Response。写入 global.asax.cs 中设置的正确“Hello World”字符串。

因此,在我看来,当他们说“未传输 HttpContext.Items 之类的东西”时,我似乎要么不理解这本书的含义,要么它确实传输了这些东西,并且可以使用 HttpContext.Items。

如果你们建议我避免使用 HttpContext.Items,是否有另一种替代方法可以在每个请求的基础上跨请求存储对象?

0 投票
4 回答
10517 浏览

wcf - 奇怪的 WCF 错误 - IIS 托管 - 上下文被中止

我有一个 WCF 服务,它执行一些文档转换并将文档返回给调用者。在我的本地开发服务器上进行本地开发时,该服务托管在 ASP.NET 开发服务器上,控制台应用程序调用该操作并在几秒钟内执行。

当我通过 .svc 文件在 IIS 中托管服务时,其中两个文件正常工作,第三个文件被炸毁,它开始使用 OpenXml Sdk 构建 word 文档,但随后就死了。我认为这与 IIS 有关,但我不能指望它。

我一共生成了三种类型的文档。简而言之,这就是它的工作原理

SQL 2005 DB/IBM DB2 -> 由其他开发人员编写的 WCF 服务以公开数据。此服务只有一个使用 basicHttpBinding 的端点

My Service 调用他的服务,获取相关数据,使用 Open Xml Sdk 生成 Microsoft Word 文档,将其保存在服务器上并将路径返回给用户。

word文档不超过100KB。

我也在使用 basicHttpBinding,尽管我尝试了 wsHttpBinding 的结果相同。

令人惊奇的是它在本地的速度有多快,而且其中两个文档生成得很好,它的第三种文档类型拒绝工作。

到错误信息:

接收对http://myservername.mydomain.inc/MyService/Service.Svc的 HTTP 响应时发生错误。这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务器关闭)。有关更多详细信息,请参阅服务器日志。

在过去的 2 天里,我一直在试图弄清楚发生了什么,我已经尝试了一切,包括将 maxReceivedMessageSize、maxBufferSize、maxBufferPoolSize 等更改为较大的值,我什至包括:

看看 IIS 是否因此而窒息。

以编程方式,该服务没有什么特别之处,它只是使用 Open Xml Sdk 从数据中构造单词文档,就像我说的,当通过在 asp.net 开发服务器上本地运行的控制台应用程序调用时,所有 3 个文档在本地工作,即http: //localhost:3332/myService.svc

当我在 IIS 上托管它并尝试让 Windows 窗体应用程序调用它时,我收到错误消息。

我知道您会要求提供日志,所以是的,我在我的主机上启用了日志记录。

日志中没有错误,我正在记录所有内容。

基本上我调用另一个开发人员编写的两个服务操作。

MyOperation 调用 -> HisOperation1 然后是 HisOperation2,这两个调用都给了我复杂的类型。明天我要看看他的代码,因为他正在使用 LINQ2SQL,并且那里可能会发生一些有趣的事情。他正在使用各种集合等,但事实上我可以运行完全相同的文档,当服务在 ASP WebDev 服务器上本地托管时,让我们在几秒钟内将其称为“文档 3”,这是最奇怪的,为什么会它在缩小的 Cassini 上运行并在 IIS 上炸毁?

从日志看来,在调用 HisOperation1 和 HisOperation2 后服务刚刚进入 la-la 地死机,Windows 事件日志中有一个应用程序池 (w3wp.exe) 错误。

它被归类为 .NET 2.0 运行时错误。

任何帮助表示赞赏,睡眠不足对我来说很重要。

帮助我欧比旺克诺比,你是我唯一的希望。

0 投票
3 回答
8877 浏览

asp.net-mvc - Asp.Net Mvc 无法注销

这是我的登录代码


这是我检查角色的代码。它是一个自定义 IHTTP 模块


这是我的注销代码


这太疯狂了。我现在有两个秃头。

0 投票
3 回答
3226 浏览

c# - 多线程、HttpContext、长时间运行的任务?

Thread.Start()最近开始使用线程和长时间运行的任务,并注意到几个与请求相关的问题。

编辑

您建议在处理作业时向用户提供反馈,有效利用线程池并尽可能使用 HttpContext?

0 投票
1 回答
1060 浏览

asp.net - HttpContext.User 何时初始化?

我可以访问 HttpContext.User 的最早时间是什么时候?

0 投票
1 回答
2618 浏览

asp.net-mvc - 为什么 HttpContext.Request.Url 与地址栏中的内容不匹配?

好的,所以我想在我的 ASP.NET MVC 网站的某些部分上强制使用 https/ssl。在这里找到了很多很棒的资源,包括 ActionFilter:http: //blog.tylergarlick.com/index.php/2009/07/mvc-redirect-to-http-and-https/

每当我启用 ActionFilter 但是我最终都会进入重定向循环。问题是如果我在地址栏中输入https://www.mysite.com/,request.url总是等于http://www.mysite.com/

操作过滤器的代码如下,据我所知,我不会在标准设置之外进行任何 url 重写、重定向、自定义路由或修改 url。是否有任何常见/不常见的原因导致这种情况发生和/或任何解决方法或修复?该站点目前托管在 NetworkSolutions - 是否有可能与 IIS 配置有关?任何帮助将不胜感激。

0 投票
2 回答
2039 浏览

.net - ASP.NET 会话未跨页面保持存储

首先,我创建了一个登录页面,该页面向会话中添加了一个键值对,并验证了该页面上会话持有该对。接下来,我尝试转到另一个页面,在会话中查找该对,但它不存在。我已将会话的超时设置为 15000,因此它不会超时。我目前使用一个静态类来查看会话,HttpContext.Current.Session。每个 Page 调用这个静态类来查看会话,但每次会话密钥计数 = 0 时,除了我在登录页面上的对之后。

0 投票
2 回答
20235 浏览

asp.net-mvc - ASP.NET MVC:如何使用 HttpContext.User

我真的迷失了如何使用 HttpContext.User。我到处都读到它对 FormAutherication 非常有用,但我只是看不到它是如何工作的。如果我做这样的事情:

ControllerContext.HttpContext.User 包含什么?以及如何以这种方式访问​​有关用户的信息?

我认为我有这样的动作:

然后,如果我想要视图中的用户信息,例如用户名或角色,我可以在视图中调用 ControllerContext.HttpContext.User.Username。但这是不同的看待它的错误方式。

那么你们能给我一个正确的方向或发布一个链接到一个可以的网站吗?

0 投票
2 回答
2335 浏览

asp.net - 从 JQuery AJAX GET 中获取 HttpContext

我的项目使用 Castle Monorail 作为 MVC 框架。问题是 Monorail 要求所有控制器都有一个视图模板。我正在尝试通过 AJAX 调用从控制器上的方法中获取字符串。AJAX GET 总是从服务器返回 500 错误,因为 Monorail 找不到视图模板。我已经看到了其他解决方法的示例,在这些示例中,您只需将控制器方法的返回类型设置为 void(这表明 monorail 不会费心寻找视图控制器),然后执行以下操作:

只需将上下文写入屏幕。

所以我有以下方法,并试图通过 Jquery AJAX GET 获取返回字符串。有人可以帮忙吗?

我应该如何使这个返回无效并通过 HTTPCONtext 读取返回值?