问题标签 [controllercontext]

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 投票
3 回答
4667 浏览

asp.net-mvc - 如何在不模拟的情况下对使用 UpdateModel 的操作进行单元测试?

我一直在阅读 Scott Guthrie 在ASP.NET MVC Beta 1上的出色文章。在其中,他展示了对 UpdateModel 方法的改进以及它们如何改进单元测试。我重新创建了一个类似的项目,但是每当我运行包含对 UpdateModel 的调用的 UnitTest 时,我都会收到一个 ArgumentNullException 命名 controllerContext 参数。

以下是相关位,从我的模型开始:

控制器动作:

最后我的单元测试失败了:

ArgumentNullException调用时抛出UpdateModel消息“值不能为空。参数名称:controllerContext”。我假设某处UpdateModel需要System.Web.Mvc.ControllerContext在测试执行期间不存在的地方。

我还假设我在某处做错了什么,只需要指出正确的方向。

请帮忙!

0 投票
1 回答
2247 浏览

asp.net-mvc - 如何使用 rhino 模拟在 MVC RC1 中存根 HttpSessionState?

我正在尝试利用 asp.net mvc rc1 中最近的 ControllerContext 重构。我应该能够相当简单地存根会话,但是在运行以下代码时,我不断在第 2 行收到 System.NullReferenceException:

我究竟做错了什么?

编辑:我刚刚验证我在这篇文章中拥有最新版本的 rhino。

0 投票
2 回答
5806 浏览

asp.net-mvc - 与 ASP.NET MVC 中的 HttpContext.Current 等效的控制器

我想访问当前正在执行的控制器,这样我就可以将适当的 ActionResult 的返回卸载到辅助方法上。为此,我正在寻找与我认为是 ControllerContext.Current 的等价物,但不是。谢谢!

编辑澄清:我有一个基于 JavaScript 的通用表单控件,但我想添加一个选项,以便它与 noscript 一起使用。目前,我的控制器将 ViewData.Model 设置为 JSON 化的 Models.FormResponse<T>。

这个 FormReponse 设置了帖子的状态和生成的任何错误消息,所以我想要一个 GetActionResult() 方法来执行脚本/noscript 检查(隐藏的表单输入),或者:

  1. 将模型设置为 JSONed FormResponse 并返回一个 View(),或者
  2. 将 FormResponse 序列化到 Session 并返回 Redirect()。

由于这显然会更改返回值并且我不想每次都自己进行检查,因此我需要从 FormResponse 的 GetActionResult 方法调用 View 或 Redirect 以便将其调用为:

我知道,如果采用更符合航天风格的设计,这可能会变得更加健壮,但由于 noscript 选项目前不是主要功能,我只需要获得一个不会破坏其他东西的快速解决方案。

更新#2

以下在 ActionResult 类中实现,为我完成了这项工作。感谢 CVertex!

0 投票
6 回答
1078 浏览

asp.net-mvc - 上下文到底是什么?

我开始在任何地方看到上下文。在 ASP.NET MVC 中,有 ControllerContexts、RequestContexts、HttpContexts、FormContexts。在实体框架中,您有 ObjectContexts 和 DbContexts。Ninject 有 Ninject.Activation.IContext。

上下文到底是什么?

0 投票
1 回答
768 浏览

asp.net-mvc-2 - 从视图和控制器外部获取当前控制器名称

我曾尝试使用 ControllerContext 对象,但我不知道如何实例化它。我想提醒您,我正在尝试在视图或控制器之外的自定义类中获取控制器名称。谢谢,

0 投票
1 回答
1528 浏览

.net - 从业务对象访问控制器上下文/临时数据

我正在尝试构建一个可以交换的会话/临时数据提供程序。默认提供程序将在 asp.net mvc 之上工作,它需要从业务对象类访问 .net mvc TempData。我知道临时数据可通过控制器上下文获得,但我似乎无法找到它是否通过 HttpContext 或其他方式公开。我真的不想将控制器上下文作为参数传递,因为这会稀释我的接口定义,因为只有基于 asp.net 的会话提供程序需要这个,其他(使用 NoSQL DB 等)不关心控制器上下文。

为了进一步澄清,在这里添加更多代码。我的 ISession 界面看起来像这样。当此代码投入生产时,预计会话/临时数据将使用 NoSql db 工作。但我也喜欢在 asp.net mvc session/tempdata 之上为我的开发测试等提供另一个实现。

公共接口 ISession

0 投票
2 回答
1028 浏览

asp.net-mvc-2 - Azure 中的 ControllerContext 与 HttpContext

我想知道在 Azure 设置中使用 ControllerContext 与 HttpContext 之间是否有任何影响。我发现 HttpContext 是线程静态的,我试图找出这在 Azure 中是否相关。

假设没有真正的区别,我可以保证调用控制器动作时两者相等吗?我正在尝试为已建立的应用程序编写单元测试,该应用程序在控制器操作中对 HttpContext.Current 进行一些调用。在整个应用程序的某些地方,直接对 HttpContext.Current 进行更改(特别是作为授权的一部分)。如果我切换到 ControllerContext,是否会反映对 HttpContext.Current 所做的更改?

谢谢!

0 投票
1 回答
2532 浏览

asp.net-mvc - 测试帐户/登录操作

我正在使用 Visual Studio 2010 的内置测试工具和本文中的类库来测试 Account/Loggon 操作,以创建假控制器上下文。当我运行测试方法时,此代码行:

抛出异常:对象引用未设置为对象的实例

为了测试登录操作,我想我应该创建一个带有 cookie 集合的假控制器上下文的控制器。这是我的测试代码块:

0 投票
1 回答
3053 浏览

c# - 来自 ControllerContext 的 ActionDescriptor

鉴于我只能访问ControllerContext而不是Action____Contexts获取当前正在执行的 ActionDescriptor 的最佳方法是什么?

到目前为止,我发现的唯一方法是:

这是最佳方法吗?

类被命名的事实ReflectedControllerDescriptor让我想知道这个操作是否有很高的成本,因为它将在每个页面请求上执行?与此相关的是这个类是在内部缓存还是我应该ReflectedControllerDescriptors明确地缓存?

0 投票
2 回答
1877 浏览

c# - 从 ActionResult 获取请求类型

我正在扩展ActionResult课程。在ExecuteResult方法中,我想检查操作是 aGET还是 aPOST但是类中似乎没有属性ControllerContext可以让我这样做。有人知道如何从 a 检查请求类型ControllerContext吗?