I would like to write a helper function which build the exception message to write to a log. The code look like:
if(IsWebApp)
{
&
You can check to see if HttpContext.Current != null.
I use the DomainManager type of Current AppDomain. MSDN documentation of AppDomainManager
public static class AspContext
{
public static bool IsAspNet()
{
var appDomainManager = AppDomain.CurrentDomain.DomainManager;
return appDomainManager != null && appDomainManager.GetType().Name.Contains("AspNetAppDomainManager");
}
}
You can also check this other answer on SO
How about
If (Not System.Web.HttpContext.Current Is Nothing) Then
End If
or
if(System.Web.HttpContext.Current != null){
}
Just check for some object that only exists in a web application, like HttpRuntime.AppVirtualPath
that SLaks suggested.
If it's a web application, you would still want to check if HttpContext.Current
is null. If the exception occurs in code that is not run beacuse of a request, it doesn't have any context. The Session_OnEnd event for example runs when a server session is removed, so it doesn't have the context.
Use the HttpRuntime class:
if (!String.IsNullOrEmpty(HttpRuntime.AppDomainAppVirtualPath))
//ASP.Net
else
//Non-ASP.Net