Skip to main content

Posts

Showing posts from February, 2020

Utilizing Azure Blob and WebJob to Convert Excel Files to Flat File Format

I believe, there are many articles or blogs already available which speaks about how to convert an excel file to a comma separated file using C# and in all the cases (which I referred), excel is read from a hard drive of a local machine and csv file is saved back to the same hard drive. But in spite of knowing this, again, I’m going to draft another post. Wondering, why? Well, this post is going to be slightly different in the way files are being read and saved back. Below are the major offerings of this post:     What if we have many excel files to convert but disk is not having enough space to save all of those? Same is the case for conversion output too. What if we don’t have permission to save our converted files on to the local machine? How can we run this conversion utility using web jobs? In order to address the above challenges, we can utilize Azure capabilities wherein we will do everything on the fly without utilizing disk space as a storage for our f...

Getting host information from current the URL in ASP.NET Core 3.1

While working on web application, it’s quite natural that we need to jump between various environments (i.e. Development, Testing, Production, etc.) during various phases of product life cycle. In other words, all these environments may have different-different host addresses. Let’s have a look at a few of those. During the development phase, we usually run our application with http://localhost:8080/features/..., where our host is localhost:8080 During the testing phase, the same application can be run on http://www.consumerapps.com/features/..., where our host is www.consumerapps.com Now, what if we want to get the host name in log file for an audit purpose. We cannot go and hard code  it in the application, as it may change based on the environment on which application is running. In ASP.NET Core 3.1, it can be easily achieved using HttpContext . First change we have to do is, to register IHttpContextAccessor as a singleton: services.AddSingleton<IHttpC...