Posts

Showing posts with the label IIS

Log exception to file in c# .net core application explained

In production environment when any bug gets reported at that time as developer wants to get the exception details of bug to resolve the issue on high priority.
In some case there might be situation where exception is not logged in table but developer wants to check the bug immediately. for that purpose we need to write the
exception details including stack trace of bug in file. To implement this easily i am going to demonstrate the implementation of custom logging in file as below.

First we need to construct the exception and logger method in custom logger class as shown below.


public class CustomLogger { public static List<string> ConstructExceptionDetails(Exception ex,string FunctionName) { return new List<string>() { $"{DateTime.Now} - {FunctionName}", $"Exception: {ex.Message}", $"StackTrace: {ex.StackTrace}", $"InnerException: {ex.InnerException?.…

Prevent ASP.NET Forms Authentication from Timing Out on a Shared Hosting

I’m hosting a website on a shared hosting server. This site uses Forms Authentication to generate the session cookie that authenticates my users. Everything worked fine with the site, including authentication, until I tried to make it so my authentication cookies didn’t expire every 20 minutes, which is the default expiration setting for Forms Authentication


I have set following settings to my web.config

<authentication mode="Forms" > <forms loginUrl="~/Account/LogOn" timeout="2880" /> </authentication>
but even though the user log outs from the system in 2 mins its irritating to user.


To solve the issue we need to set machine key into the web.config file. To generate the machine key use following code snippet.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; namespace keygenerator { class Program { static void Main(string[] argv) …

Internet explorer Loads pages from cache issue resolution in asp.net

Internet explorer have tendency to load pages from cache for same requested URL. Which makes thing worse where the content of the web page updated frequently. In this situation Internet Explorer not send request to the server for page rendering. To resolve the issue in asp.net there are two option available. Write the HTML code in head tag or write server side code to tell Internet explorer to not to load pages from cache.

If you are trying to add code in design or HTML page then add following code

<HTML><HEAD> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1"> </HEAD><BODY> </BODY> </HTML> 
In Asp.NET, you can do it on a page-by-page granularity by using this set of methods prior to calling the web page by following way.


HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); HttpContext.Response.Cache.SetValidUntilExpires(false); HttpContext.Response.C…

HTTP Error 500.19 - Internal Server Error -Complete solution

Image
HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.