草庐IT

actionContext

全部标签

c# - ASP.NET Web API 不返回 XML

我有一个Controller和方法可以将用户添加到数据库。我从带有请求header的Fiddler中调用它,如下所示-Content-Type:application/xmlAccept:application/xmlHost:localhost:62236Content-Length:39还有一个请求正文-JohnDoe这按预期工作,方法被调用,用户对象在方法PostUser中处理。publicclassUserController:ApiController{publicHttpResponseMessagePostUser(Useruser){//AddusertoDBvarre

c# - 如何获取请求查询字符串值?

我的api客户端代码在查询字符串中发送身份验证token,如:www.example.com/api/user/get/123?auth_token=ABC123我正在使用MvcWebapiController,我有一个过滤器来检查auth_token是否有效,但我不确定如何访问请求查询字符串值。这就是我现在正在做的,但显然是错误的:下面的代码片段在我继承自的过滤器中:ActionFilterAttributepublicoverridevoidOnActionExecuting(System.Web.Http.Controllers.HttpActionContextactionCo

c# - 无法在 asp net core web API 中获取请求 header

我正在尝试在aspnetcorewebapi中创建一个自定义过滤器,如下所示,但无法获取header信息。internalclassBasicAuthFilterAttribute:ActionFilterAttribute{privateStringValuesxyz;publicoverridevoidOnActionExecuting(ActionExecutingContextactionContext){varauthHeader=actionContext.HttpContext.Request.Headers.TryGetValue("Basic",outxyz);}}T

c# - 将 Razor 页面呈现为字符串

问题:我需要将Razor页面呈现为字符串的一部分。为什么我想要这个:我想创建一个Controller操作,以包含部分View和其他可选参数的JSON进行响应。尝试:我熟悉以下将View呈现为字符串的示例:https://github.com/aspnet/Entropy/blob/dev/samples/Mvc.RenderViewToString/RazorViewToStringRenderer.cs但是,它与Pages不兼容,因为它只在Views目录中搜索,所以即使我给它一个部分的绝对路径,它也会尝试找到我的_Layout.cshtml(它甚至不应该这样做!)并未能找到它。我试图

c# - 自定义 Api 授权忽略 AllowAnonymous

我有一个CustomApiAuthorizeAttribute:publicclassCustomApiAuthorizeAttribute:AuthorizeAttribute{publicoverridevoidOnAuthorization(HttpActionContextactionContext){if(actionContext==null)thrownewArgumentNullException("actionContext");boolskipAuthorization=actionContext.ActionDescriptor.GetCustomAttribut

c# - 在 WebAPI C# 中请求反序列化期间捕获异常

我正在使用WebAPIv2.2,我正在让WebAPI使用[FromBody]属性将JSON反序列化到一个对象上。反序列化的目标类在内部方法上有一个[OnDeserialized]属性,如下所示:[OnDeserialized]internalvoidOnDeserialisedMethod(StreamingContextcontext){//mymethodcode}我确实知道这个方法中的代码有问题,我已经逐步检查并找到了它。对我来说,问题是我一点也不异常(exception)。发生的事情是这个方法被跳出并且异常似乎被忽略了。由于未正确执行此序列化方法,我的Controller操作被

c# - 超时 Web Api 请求?

像MVCWebApi运行在异步ASP.NET管道上,意思是executiontimeoutisunsupported.在MVC中我使用[AsyncTimeout]过滤器,WebApi没有这个。那么如何在WebApi中使请求超时? 最佳答案 根据Mendhak的建议,您可以做您想做的事,尽管不完全是您想要做的事,而无需跳过很多环节。在不过滤器的情况下执行此操作可能看起来像这样:publicclassValuesController:ApiController{publicasyncTaskGet(){varwork=this.Actu

java - ServletContext 和 ServletActionContext 有什么区别

请告诉我ServletActionContext和ServletContext有什么区别?ServletContext在所有servlet和Action之间共享,而ServletActionContext特定于一个Action,还是在所有Action之间共享? 最佳答案 这些是不同的东西。ServletContext是与servlet相关的,ActionContext是与Struts2Action相关的,ServletActionContextextendsActionContext但主要是一个实用程序类。如果你想知道whatist

struts2 - 在 Struts 2 拦截器中获取 HttpServletRequest

为了在拦截器中获取HttpServletRequest,我使用了以下代码:HttpServletRequestrequest=(HttpServletRequest)ActionContext.getContext().get(HTTP_REQUEST);我尝试在拦截器中实现ServletRequestAware,但没有成功。有没有更好的方法在拦截器中获取HttpServletRequest?! 最佳答案 您需要使用ActionInvocation#getInvocationContext()来检索您的请求。publicString

模拟ActionContext.getContext()。getSession()返回null

我试图为以下方法编写JUNIT测试案例。publicclassMyClass{publicstaticMapgetSession(){Mapsession=ActionContext.getContext().getSession();returnsession;}}我跟着这个问题以及这个问题并试图嘲笑ActionContext。但是仍然会议是null.publicclassTestClass{privateHttpServletRequestrequest;privateHttpSessionsession;@BeforepublicvoidsetUp(){//mockthesessions
12