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

asp.net - Commerce Server 和 ASP.NET 集成管道错误

我正在使用 Microsoft Commerce Server 2007 和自定义 ASP.NET 2.0 网站。在经典管道中一切正常,但是当我尝试使用集成管道时,它失败并出现以下错误:

“/”应用程序中的服务器错误。

请求在此上下文中不可用

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Web.HttpException:请求在此上下文中不可用

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[HttpException (0x80004005): 请求在此上下文中不可用]

System.Web.HttpContext.get_Request() +8794400 Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule.Init(HttpApplication appInstance) +134
System.Web.HttpApplication.InitModulesCommon() +65 System.Web.HttpApplication.InitIntegratedModules() +49 System.Web.HttpApplication.InitInternal(HttpContext 上下文,HttpApplicationState 状态,MethodInfo[] 处理程序)+729
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext 上下文)+298
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext 上下文)+107
System.Web .HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +363

我已尽我所能对此进行研究,这肯定是由于 Commerce Server 在没有当前请求时尝试访问 HttpContext.Current 引起的。这一切都发生在我的代码中的任何内容之前,并且没有什么可以闯入或查看任何源代码。我什至尝试将调试器附加到 IIS 进程(w3wp.exe),但它没有捕获任何东西。

我已按照此处的说明添加 web.config 部分,但没有任何区别。

我在不同的服务器上有一个不同的网站,在集成管道模式下使用 Commerce Server,没有问题,所以我知道这是可能的。我找不到两个 web.config 文件之间的显着差异,所以我假设这是其他地方的配置错误,但我不知道去哪里找。

出于性能原因,我可以在集成管道模式下使其工作至关重要,此外,我正在创建一个仅适用于集成管道的自定义 URL 重写 HTTP 模块。

预先感谢您的任何帮助!

0 投票
1 回答
502 浏览

c# - 使用 HttpContext.Current.CurrentHandler 进行运行时视图访问

使用 HttpContext.Current.CurrentHandler 进行运行时视图访问是否有任何潜在的陷阱?

0 投票
2 回答
4450 浏览

asp.net - 从工作线程使用 MapPath

我有一个 WCF 服务方法,它在我从另一个方法旋转的工作线程中运行。
我需要将相对服务应用程序路径(“~/Templates/a.template”)映射到物理路径(“D:\Web\Templates\a.template”),但我不能使用HttpContext.Current.Server.MapPath,因为HttpContext.Current在 a工作线程。我还能如何达到MapPath方法?

0 投票
2 回答
12667 浏览

asp.net - ASP.NET 会话对象中的实体框架对象上下文?

我们有一个多层的 Asp.NET Web 窗体应用程序。数据层有一个名为的类DataAccess,它实现IDisposable并具有我们的实体框架对象上下文的实例作为私有字段。该类有许多返回各种实体集合的公共方法,并在释放时释放其对象上下文。

由于我们一直面临的许多问题,我们认为将对象上下文(或 的实例DataAccess)在服务器上的范围内保持更长时间将是一个很大的优势。有人建议在这篇文章HttpContext.Current.Items的集合中保留一个实例,以便每个 Http 请求都有一个实例。

我想知道的是:将我们的对象上下文的实例存储在对象中会产生什么问题/关注/问题HttpContext.Current.Session????

  • 我假设 Session 对象已完成并在用户会话到期时设置为垃圾收集,因此实例将被正确处理。
  • 我假设大多数默认浏览器设置将让我们的应用程序毫无疑虑地放置其 SessionId cookie。
  • 对象上下文将处理的数据量并不巨大,并且不会对我们体面的服务器硬件构成问题,随着时间的推移缓存和相对较少的并发用户。

这将相对较快地实施,并且不会影响我们许多现有的单元测试。

我们将使用 AutoFac 和 ServiceProvider 类来提供实例。当需要 ObjectContext 的实例时,它将由类似于以下的代码返回:

干杯。

0 投票
3 回答
22013 浏览

asp.net - 在不使用 httpcontext 的情况下获取应用程序路径。(asp.net)

怎么做?

我不想用这个:

是否有类似的函数可以在不需要 httpcontext 的情况下调用?

例如,如果启动一个线程做一些事情,我不能使用 httpcontext,但我仍然需要获取应用程序的路径。不,我不能将上下文作为参数传递或从共享变量中读取它。

0 投票
3 回答
8912 浏览

asp.net - 静态方法中的 HttpContext.Current NullReferenceException

我有一个带有几个静态方法的静态类。在这些方法中,我尝试使用HttpContext.Current. 例如:

但是,当我这样做时,我收到了一个NullReferenceException臭名昭著的“对象引用未设置为对象的实例”。

有任何想法吗?

0 投票
3 回答
3619 浏览

exception - 尝试使用 MoQ 时出现 StrongNameKeyPair 问题

我正在尝试为单元测试创​​建一个模拟 HttpContextBase。

单元测试在最后一条语句中失败

抛出异常:System.ArgumentException:无法获取 StrongNameKeyPair 的公钥..

System.Reflection.StrongNameKeyPair.nGetPublicKey(布尔导出,字节 [] 数组,字符串容器) System.Reflection.StrongNameKeyPair.get_PublicKey() System.AppDomain.InternalDefineDynamicAssembly(AssemblyName 名称,AssemblyBuilderAccess 访问,字符串目录,证据证据,PermissionSet requiredPermissions,PermissionSet optionalPermissions, PermissionSet deniedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes) System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access) Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName) Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName() Castle.DynamicProxy.ModuleScope .ObtainDynamicModule(Boolean isStrongNamed) Castle.DynamicProxy.Generators.Emitters.ClassEmitter。CreateTypeBuilder(ModuleScope 模块范围,字符串名称,类型(等等等等)

我用谷歌搜索,这里的建议似乎不起作用(更改 RSA 文件夹安全设置等)http://groups.google.com.br/group/castle-project-users/browse_thread/thread/85685cf32a795158

我认为这是正确的吗,因为HttpContextBaseSystem.Web.Abstraction是已签名程序集的一部分。Moq 实际上会尝试对动态程序集进行签名,但会失败?

0 投票
2 回答
309 浏览

linq - 在 pLinq 查询中使用会话状态

我有一个相当简单的 Linq 查询(简化代码):

产品是一类。Product.Price 是一个子类, GrossPrice 是它的属性之一。为了计算出我需要使用 Session("exchange_rate") 的价格。

因此,对于 lstProductList 中的每个项目,都有一个执行以下操作的函数:

(然后 GrossPrice 返回 NetPrice+VatAmount)

无论我尝试了什么,我都无法访问会话状态。

我已经尝试过 HttpContext.Current - 但没有返回任何内容。我已经在类上尝试了实现 IRequiresSessionState(这有助于通用 http 处理程序 [.ashx] 中的类似情况) - 没有运气。

我正在使用简单的 InProc 会话状态模式。汇率必须是用户特定的。

我能做些什么?

我正在使用:Web 开发、.Net 4、VB.net


一步一步:
page_load (in .aspx)
dim objSearch as new SearchClass()
dim output = objSearch.renderProductsFound()

然后在 objSearch.renderProductsFound:
lstProductList.Add(objProduct(1))
...
lstProductList.Add(objProduct(n))

dim x = 从 lstProductList.AsParallel 中的产品
按 Product.Price.GrossPrice 降序选择产品

在 Product.Price.GrossPrice 中获取:
返回 me.NetPrice+me.VatAmount

在 Product.Price.NetPrice 中获取:
return NetBasePrice*Session("exchange_rate")

再次,简化代码,这里粘贴太多了。如果我将查询解包到 For 循环中,则工作正常。

0 投票
1 回答
1035 浏览

c# - C# 中的帧重定向

我想从我的 IIS 7 托管模块在 C# 中执行帧重定向。
当我调用时context.Response.Redirect(@"http://www.myRedirect.org");,会显示正确的页面,但地址也会显示在浏览器中。这正是我不想要的。
所以我想要类似的东西:

有什么想法吗?
编辑: 我尝试了这个例子,所以我有:

但这也没有正确重定向。我的浏览器中仍然显示重定向地址。那么还有什么想法吗?

编辑:我显然犯了一个错误。上面的代码可以工作并且可以满足我的要求。它首先不起作用,因为我的重定向 url 做了一些意想不到的事情。

0 投票
2 回答
5332 浏览

asp.net-mvc - 在哪里使用 Controller.HttpContext

在我的基本控制器的构造函数中,我正在调用一个扩展方法来检查客户端上的特定 cookie。

目前我正在使用 System.Web.HttpContext.Current 来获取当前上下文。

但是,我相信我应该使用 Controller.HttpContext ,因为它更具可测试性并且包含有关请求的其他信息。

但是,Controller.HttpContext 在创建时返回 null(相信这是设计使然),而且在 Initialize 和 Execute 方法上也返回 null(除非我使用 Routing.RequestContext.HttpContext?)。

因此,如果我应该使用 Controller.HttpContext 而不是 HttpContext.Current,那么我在什么时候可以在请求中使用它?

谢谢本