Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 702253
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T03:42:01+00:00 2026-05-14T03:42:01+00:00

In my base controller’s constructor I am calling an extension method that checks for

  • 0

In my base controller’s constructor I am calling an extension method that checks for specific cookies on the client.

Currently I am using System.Web.HttpContext.Current to get the current context.

However, I am lead to believe that I should be using Controller.HttpContext since it is more testable and contains additional information about the request.

However, Controller.HttpContext returns null on creation (believe this is by design) but also on Initialize and Execute methods (unless I use Routing.RequestContext.HttpContext?).

So if I should be using Controller.HttpContext instead of HttpContext.Current, at what point is it available to me in a request?

Thanks
Ben

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T03:42:01+00:00Added an answer on May 14, 2026 at 3:42 am

    You can get your Controller.HttpContext when you invoke an action method inside your controller. So that means that you can access it inside an action method

    if you want to check that on every request maybe you can use an custom attribute look at this example:

    public class LoggingFilterAttribute : ActionFilterAttribute
    {
      public override void OnActionExecuting(ActionExecutingContext filterContext)
      {
        filterContext.HttpContext.Trace.Write("(Logging Filter)Action Executing: " +
            filterContext.ActionDescriptor.ActionName);
    
        base.OnActionExecuting(filterContext);
      }
    
      public override void OnActionExecuted(ActionExecutedContext filterContext)
      {
        if (filterContext.Exception != null)
            filterContext.HttpContext.Trace.Write("(Logging Filter)Exception thrown");
    
        base.OnActionExecuted(filterContext);
      }
    }
    

    I suggest you read up on custom attributes. But what do you mean with more testable? You can easily mock your httpcontext with a mocking framework like rhino mocks or google moq

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a base controller which is defined as follows, but the constructor that
I've read somewhere that using a base controller is bad and that there are
I have an ActionFilter that is applied to my base controller which checks certain
I've currently got a BaseController class that inherits from System.Web.Mvc.Controller . On that class
Im using a base controller & OnActionExecuting to get 'common' site data that I
I've built a Base Controller that all of my Controllers inherit from, and I've
I'd like to implement a base controller on one of my controllers. Within that
Background .NET 4, C#, MVC3, using JsonFx to serialize and deserialize data. Base controller
I currently have a abstract controller class that I all my controllers inherit from.
Is there any way to gain access to the controller that is currently executing

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.