How to check if session value is null or session key does not exist in asp.net mvc - 5

if(Session["TenantSessionId"] != null)
{
  // cast it and use it
  // The code
}

As [] is act as Indexer (like a method on the class) and in this case, session is null and you cannot perform Indexing on it.

Try this..

if(Session != null && Session["TenantSessionId"] != null)
{
   // code
}

The NullReferenceException comes from trying to cast a null value. In general, you're usually better off using as instead of a direct cast:

var tenantSessionId = Session["TenantSessionId"] as int?;

That will never raise an exception. The value of tenantSessionId will simply be null if the session variable is not set. If you have a default value, you can use the null coalesce operator to ensure there's always some value:

var tenantSessionId = Session["TenantSessionId"] as int? ?? defaultValue;

Then, it will either be the value from the session or the default value, i.e. never null.

You can also just check if the session variable is null directly:

if (Session["TenantSessionId"] != null)
{
    // do something with session variable
}

However, you would need to confine all your work with the session variable to be inside this conditional.