问题标签 [onactionexecuting]

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 回答
231 浏览

asp.net-web-api - 即使从 OnActionExecuting 返回响应,也会触发 OnActionExecuted

ActionFilter为 web apis 实现了以下属性:

  1. LogRequest:这会在方法中记录请求和响应OnActionExecuted

  2. ValidateModel:这将验证模型并BadRequest通过设置ResponseOnActionExecuting` 方法返回。

现在的问题是 - 我们BadRequest(从ValidateModel属性)返回的请求没有被记录,因为OnActionExecutedLogRequest属性)没有被触发。

有什么办法可以OnActionExecuted故意开火吗?

0 投票
3 回答
237 浏览

asp.net - 在 mvc 中执行操作之前的所有操作中的默认参数

有没有办法为 MVC 应用程序中的每个操作添加一些默认参数。因此,如果从锚点 href 发送,我可以获得参数的值。

和我这样的href(这是一个AJAX锚点调用):

我的动作就像(可以是应用程序中的任何动作,每个动作都应该有那个参数FormControlID

OnActionExecutingi 中只能访问TestID但不能访问 href 的参数,即FormControlID

0 投票
1 回答
1865 浏览

c# - 如何在 IDictionary 中查找特定值?

IDictionary<string, object>包含我正在登录 mongodb 的用户数据。问题是它TValue是一个复杂的对象。这TKey只是类名。

例如:

目前,我正在尝试遍历Dictionary和比较类型,但无济于事。有没有更好的方法可以做到这一点,还是我错过了标记?

0 投票
2 回答
7852 浏览

c# - 从 OnActionExecutionAsync 返回而不在 asp.net 核心中执行操作

在这里,我想从 in 返回custom action filter而不执行controller action methodin asp.net core WEB API

以下是我对样品的要求code

我已经搜索并找到了一些相关的问题和答案,但对我没有任何帮助。

找到了这个await base.OnActionExecutionAsync(context, next);,但它跳过了剩余的逻辑filters并直接执行controller action所以不适用于我的场景。

0 投票
1 回答
124 浏览

asp.net-core - 如何覆盖控制器内 Startup 类中定义的“OnActionExecuting”?

此代码针对每个传入请求运行,以检查它是否包含有效的 JWT 令牌。

在大多数情况下,这就是我想要的,除了第一次(当用户尝试登录时)。因为它在每次请求时都运行,所以用户无法登录。

我试图在登录操作之上添加一个属性,但它仍然无法正常工作。

在这种情况下,我应该怎么做才能覆盖启动类中的OnActionExecuting,以便用户可以登录。

感谢您的帮助

0 投票
1 回答
1040 浏览

asp.net-core - 什么是 ASP.NET Core 5 中的 Web 窗体“Page_Load”的等价物,所以我的代码将在任何页面加载之前运行?

有没有办法在 ASP.NET Core 5 中的每个页面加载时执行代码,就像在 Web 窗体中一样?在 Web 窗体中,我使用了Page_Load()事件处理程序,但 ASP.NET Core 5 中的等价物是什么?因此,如果我在任何控制器中调用任何操作,它将首先运行我的代码,然后运行操作执行。

我发现了这个:如何为每个请求执行通用代码?, 但是当我尝试它时,我得到了错误。

请有人为我提供明确的解决方案。

另外,我需要一种从一个地方检查会话的解决方案,而不是在每个控制器中编写“检查会话代码”,而是在登录成功后创建会话,但是在所有控制器中检查会话的最佳方法是什么如果它为空,则重定向到登录页面?

0 投票
0 回答
274 浏览

c# - 在 asp.net mvc 中使用 C# 解压缩正文请求,已使用 pako 库 JS 压缩

我有一个 asp.net mvc 应用程序,想使用 Pako 库(使用 gzip 和 deflate 编码)压缩视图中的请求正文,并在使用 OnActionExecuting 和 GZipStream/DeflateStream 到达控制器之前解压缩正文请求。

为什么要这样做?因为我有一个阻止所有请求 > 128KB 的防火墙,所以我在必要时进行压缩,我已经使用 angular 10 和 .NET Core API 中的另一个应用程序执行此操作,但在 asp.net mvc 中不能做同样的事情:(

现在我可以压缩正文并使用 ajax 将其发送到控制器,触发 OnActionExecuting 但我的代码不起作用 request.Filtrer 通过但我在模型控制器中有 null 并且 filterContext.ActionParameters.Values 也是 null 。

我用 angular 10 和 API.NET Core 实现了这一点,它工作我在 angular 中使用了 pako,在我的 api 核心中使用了这段代码:

我的 ASP.NET MVC 代码:

看法 :

动作过滤器属性:

另一个问题我有它是 HttpContext.Request.InputStream (流包含我的身体)它是只读的

谢谢

0 投票
0 回答
46 浏览

selenium - Selenium c# MSTest Specflow 对另一台设备执行测试

在我的工作中,我们有一个用于测试的 .NET 自定义应用程序,我们将 API 请求发送到另一台 IIS Express Web 服务器已启动并使用 81 端口运行的 PC。之后测试执行开始。

现在我已经用 selenium c# / VS19 实现了 MSTest+Specflow 项目。在我的本地机器上,它运行良好,执行/扩展报告。

我感兴趣的是可以通过哪种方式将 API 请求或其他东西发送到另一台将开始执行测试的 PC。(我可以使用 RDP 访问那台计算机),我不想在每次执行测试时都通过 RDP 连接。例如,通过邮递员将 API 请求发送到将自动开始执行的 IP 地址将是完美的。

0 投票
1 回答
360 浏览

c# - 如何从 OnActionExecution 重定向到控制器中的操作(Asp.net core 5)

大家好,我正在做一个Asp.net core有针对性的项目.Net 5

我创建了一个继承自的类,IActionFilter并使用了OnActionExecution我在其中做了一些逻辑的方法,并想从它重定向ActionController.

问题: 问题是我如何重定向到request来自的操作,我根据我的知识尝试了许多解决方案,但没有人成功。

我尝试了什么:

问题: 我有两个问题,

  1. 如何知道请求的来源Action和名称?Controller
  2. 如何重定向到相同ActionController相同的模型并发送在“OnActionExecution”中获得的相同模型</li>

为什么我这样做: 我的想法是使用我自己的“IActionFilter”类和任何方法HttpPost来检查model发送是否有效,如果无效,OnOnActionExecution方法将添加errorsmodel并再次重新发送到操作。

请对此问题有任何帮助吗?

0 投票
0 回答
65 浏览

c# - BaseController 中的 EF Core 上下文始终为空

我有一个BaseController但是当我从子控制器调用函数时,上下文总是null

我一直在通过将上下文BaseControler从子控制器传递给函数来处理这个问题。

但是,我现在需要使用OnActionExecuting(),因为我需要为每个使用BaseController.