Posts

Remove Owin from MVC 5 Application and use asp.net custom forms authentication

Image
Owin comes with 15 other dependencies when we add default "blank" mvc5 template in solution. Which some time is irrelevant to web application hence needs to be removed for adding custom authentication techniques in the web application. Remove the owin  from solution is tedious task but if we follow the below procedure then it can be easily removed from the solution. Right click on your project and from menu click on Manage Nuget Packages. on left side of Manage Nuget Packages window click on Installed Package then on right side of window in search box type owin.  Uninstall packages in order of: microsoft.aspnet.identity.owin microsoft.owin.host.systemweb microsoft.owin.security.cookies microsoft.owin.security.facebook microsoft.owin.security.google microsoft.owin.security.microsoftaccount microsoft.owin.security.twitter microsoft.aspnet.identity.entityframework microsoft.aspnet.identity.core Open web.config file and remove these sections from   &l

Step by step migration of ASP.NET Core 2.2 to 3.1

In order to upgrade/migrate asp.net core version to 3.1 following steps to be perform. Download and install Visual Studio 2019 version 16.4 or higher. Download and install .NET Core 3.1  https://dotnet.microsoft.com/download/dotnet-core/3.1 Upgrade the projects of solution to .NET Core 3.1 , because ASP.NET Core 3.1 requires it. Update existing Nuget packages to a version compatible with ASP.NET Core 3.1 in each project Use IHost interface from a IHostBuilder instead of building and running a IWebHost from a IWebHostBuilder in Program.cs public static IHostBuilder CreateWebHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseKestrel() .UseSerilog() .UseStartup<Startup>(); }) Change AddMvc method has been replaced by AddControllers in Startup.cs of each projects. In Startup.cs, UseMvc method to b

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.InnerEx

Error The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) while WMI script execution [resolved]

WMI(Windows Management Instrumentation) is powerful and flexible tool when used correctly, it can deliver the best and most important information about your computers, servers and notebooks. But when connecting to the remote machine fails then following error can be occurred. The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) To resolve error you need to cross verify the below checklist to resolve the above error. Verity that "Windows Management Instrumentation" is running in the remote machine and set it to auto start after restart. Verify that you are entered correct host name or IP Address you need to check that "Remote Procedure Call (RPC)" is running in the remote machine and set it to auto start after restart. you need to check that "TCP/IP NetBIOS Helper" is running in the remote machine and set it to auto start after restart. Need to enable Windows Management Instrumentation (WMI) rule in windows firewall in order to

All about the IEnumerable VS IQueryable in c#

In Linq or entity framework, we use IEnumerable and IQueryable for data manipulation or query data. IEnumerable is inherited by IQueryable , Hence IQueryable has all the features of IEnumerable and except this, it has its own features and benefits. Both have its own importance to query data and data manipulation in different situations in the application. we can go through with both the features and take the advantage of both the features to boost the LINQ Query performance. As per the need of application at some stage  IEnumerable is useful and some stage in the application  IQueryable is useful. Lets discuss about its use and features now. IEnumerable Features: IEnumerable exists in System.Collections Namespace. IEnumerable can move forward only over a collection, it can’t move backward and between the items. IEnumerable is best to query data from in-memory collections like List, Array etc. While query data from database, IEnumerable execute select query on server side,