python ruby-programming-language Smalltalk Vue.js Knockoutjs TypeScript JavaScript, OOPs JavaScript Angular 8,7,6,5,4 and 2 Interview Questions and Answers Angular 8,7,6,5,4 and 2 Interview Questions and Answers Angular 4 Angular 2 AngularJs 1.x NodeJs Perl Programming R Programming RequireJs Rust Programming Backbonejs closure programming language go-programming-language kotlin-programming-language
Access Session in Web API 2 MVC 5

How To Access Session Variables in Web API 2 Controller in ASP.Net MVC 5?

Accessing Session Using ASP.NET Web API 2 in MVC 5 -

Well, as you know, REST API by design is stateless. By adding session variables you are making it stateful and defeating any purpose of having a RESTful API.

In WebApi 2 you can add this to Global.asax
//Global.asax
protected void Application_PostAuthorizeRequest()
{
   System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}


Then you could access the session through
namespace demo.Api
{
    [EnableCors(origins: "http://localhost:53865,https://app.code-sample.com", headers: "*", methods: "*")]
    public class BaseAPIController : ApiController
    {
        /// <summary>
        /// BaseAPIController constructor will check that identity exists or not.
        /// </summary>
        public BaseAPIController()
        {
            //GET Current Session.
            var session = System.Web.HttpContext.Current.Session;

            if (!(HttpContext.Current.User.Identity.IsAuthenticated))
            {
                SetHeader();
            }
        }

        /// <summary>
        /// Set header status code to 401
        /// </summary>
        public void SetHeader()
        {
            HttpResponse resp = HttpContext.Current.Response;
            resp.StatusCode = 401;
            resp.End();
        }
    }
}


References -

I hope you are enjoying with this post! Please share with you friends. Thank you!!
ANIL SINGH

Hi there! Welcome to my blog. My name is Anil Singh. I'm a author of this blog. For more detail about me, kindly refer to this link..
My Blogs - http://code-sample.com and http://code-sample.xyz
My Books - Interview Questions and Answers Books- Get Your Book in 15+ Digital Stores Worldwide..

You Might Also Like
www.code-sample.com/. Powered by Blogger.
ASK Questions