标签: httpcontext

HttpContext.Current.Response和Page.Response有什么区别?

我正在对一组安全页面上的缓存问题进行故障排除,并且已经意识到需要针对所有响应修改标头.当我整理一个解决方案时,我想知道HttpContext.Current.Response和Page.Response之间的区别,以及何时应该在应用程序中使用每个对象.

谢谢.

asp.net caching httpcontext http-headers

3
推荐指数
2
解决办法
4107
查看次数

HttpContext.Current.Request.Url.Host 的起源在哪里?

为什么 HttpContext.Current.Request.Url.Host 返回的 URL 与 Web 浏览器中使用的 URL 不同?例如,在浏览器中输入“www.someurl.com”时,HttpContext.Current.Request.Url.Host 变量等于“www.someotherurl.com”。

asp.net hostname httpcontext

3
推荐指数
1
解决办法
1万
查看次数

具有PerWebRequest LifeStyle依赖性的单元测试控制器

我正在尝试为一个控制器编写单元测试,该控制器依赖于生活方式为"PerWebRequest"的类型.

Castle抛出以下异常:

System.InvalidOperationException:HttpContext.Current为null.PerWebRequestLifestyle只能在ASP.Net中使用.

我可以以某种方式模拟HttpContext.Current属性来解决这个问题吗?

我试图使用MVCContrib的TestControllerBuilder来初始化这个控制器,但它没有任何效果.

  SymptomTopicController controller = new SymptomTopicController();
        controller.WorkOrderFulfillment = workOrderFulfillment;

        TestControllerBuilder controllerBuilder = new TestControllerBuilder();
        controllerBuilder.InitializeController(controller);
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc httpcontext mvccontrib-testhelper

3
推荐指数
1
解决办法
899
查看次数

如何在MVC中的控制器中对会话变量进行单元测试

我正在对控制器进行单元测试。

在我的一种控制器方法中,我正在设置会话变量:

public void Index()
{       Session["foo"] = "bar";
        return View();
}
Run Code Online (Sandbox Code Playgroud)

如何对此进行单元测试?问题是测试时Session属性为null。由于Session属性为只读,因此无法进行注入。

我不想使用任何第三方工具或嘲笑。

asp.net-mvc unit-testing session-variables httpcontext

3
推荐指数
1
解决办法
3918
查看次数

HttpContext.Current.User.Identity.Name为null

我正在尝试使用HttpContext.Current.User.Identity.Name从内部网络获取用户的Windows登录详细信息,但它是空的.

我已经尝试在Web.Config中更改身份验证模式,但没有任何乐趣:

  <system.web>
    <authentication mode="Windows" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
Run Code Online (Sandbox Code Playgroud)

我还听说在项目属性中你应该启用Windows身份验证并禁用匿名身份验证,如下所示:

在此输入图像描述

但后来我得到了一个重定向循环,在Chrome中显示"此网页有重定向循环"的消息.

我还检查过我的机器上安装了Windows身份验证:

在此输入图像描述

有关如何解决此问题的任何想法吗?

非常感谢

asp.net asp.net-mvc httpcontext

3
推荐指数
1
解决办法
2万
查看次数

如何从 HttpActionExecutedContext 获取当前的 HttpContext

我正在编写一个异常过滤器,将异常记录到 Elmah,所以我正在做这样的事情:

class ExceptionLoggingFilter : System.Web.Http.Filters.IExceptionFilter
{
    public Task ExecuteExceptionFilterAsync(HttpActionExecutedContext actExecContext, 
                                            CancellationToken cancellationToken)
    {
        var httpContext = // what do I do here?
        var errorSignal = ErrorSignal.FromContext(httpContext); // this is Elmah
        errorSignal.Raise(actExecContext.Exception, httpContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道用什么来代替评论问题。我试图探索HttpActionExecutedContext从方法签名中获得的成员树,以找到通往 a 的方法System.Web.HttpContext,但我找不到任何到达那里的方法。

我如何在这里实现我的目标?

asp.net httpcontext asp.net-web-api

3
推荐指数
1
解决办法
2268
查看次数

如何在httpcontext中添加一个请求明智的变量

在 HttpContext(或类似的东西)中,我需要从控制器中添加一个临时变量,该变量需要在整个请求处理过程中可用(请求明智的变量)。但是 HttpContext.Current.Request 是只读的。如果我要添加项目,它就不会到外面去。我怎样才能做到这一点

感谢和问候 Binesh Nambiar C

asp.net-mvc httpcontext

3
推荐指数
1
解决办法
3064
查看次数

异常情况下如何在HttpActionExecutedContext中读取JSON正文

我们正在使用 Web API 2,为了处理异常,我们通过继承 ExceptionFilterAttribute 创建了一个自定义属性。现在我们想将 JSON 请求的日志保存到数据库中以防万一。

我尝试使用 context.Request.Content.ReadAsStringAsync().Result 读取但它返回空字符串。

请帮忙!!

c# httpcontext asp.net-web-api2

3
推荐指数
1
解决办法
1763
查看次数

在Controller外部的AspNet Core 1.0.0中获取HttpContext

我需要在控制器外部的AspNet Core中获取HttpContext.在较旧的AspNet 4中,我可以使用HttpContext.Current来获取它,但它似乎在新的AspNet中被删除了.我发现的唯一解决方法是通过依赖注入解析IHttpContextAccessor并向它询问HttpContext,但是为了注入IHttpContextAccessor,我需要在应用程序启动中添加IHttpContextAccessor作为单例:

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();
    services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}
Run Code Online (Sandbox Code Playgroud)

我研究过它,这是我找到的唯一方法.我谷歌它和IHttpContextAccessor被删除作为依赖解析器中的默认值,因为它是非常重的依赖.有没有其他方法来实现这一目标?

编辑: 我想知道如果不是将它作为Singleton添加到依赖项解析器,我可以在同一个地方使用HttpContextAccessor的实例将它保存在我自己的单例类中吗?

httpcontext asp.net-core

3
推荐指数
1
解决办法
3789
查看次数

在验证上下文中使用 HttpRequest

在 .net Framework <= 4.7.2 中,在验证上下文中,您可以HttpRequest通过访问HttpContext.

例如,我有一段代码如下所示:

public sealed class AccessValidator : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext context)
    {
        // validate stuff, if all true -> yield ok.

        // if is not valid
        var request = HttpContext.Current.Request;

        // store/log the request payload.
    }

}
Run Code Online (Sandbox Code Playgroud)

使用 .net Core 2.1 时无法做到这一点。我看到了一个关于注入IHttpContextAccessor什么的帖子,但它几乎在每个地方都暴露了请求。

由于这是我服务器的外部库,我希望它不依赖于服务器代码注入,因为那样会产生我不想成为的依赖。

有没有已知的方法来处理这个或解决这个问题?

c# validation httpcontext .net-core asp.net-core

3
推荐指数
1
解决办法
1427
查看次数