Skip to main content

Posts

What and How of Requirement Gathering - Part 1

This time rather than writing on some technology or solution, I thought to write on one of the important phases of SDLC which is nothing but requirement gathering. To be more specific, this article will be more about collecting information about business requirement. What are the various sources to get and understand most of the portions of any business requirement. It’ very important to understand that, information can be gathered from many standpoints. It can be from Business front, Application front, Operations front, Technology front , and may be many more. So, while gathering information, one should have a clear vision on what kind of information they are looking for. Let’s have a look at few of the well-known categories: B usiness – Goal of business, Service offerings, Products, Financial Structure, etc. Application – Productivity tools, interaction with business application system, Code Modules, etc. Operations – Identify the information’s origin, information’s consump

Generating XML Root Node having colon - via Serialization

Recently I got a requirement to generate an XML on the fly with some defined schema. I know this requirement looks very simple in first sight, but actually it was not. The XML which was to be generated was having a very specific format as it was supposed to be the input for some 3 rd party tool. So, it means, it should be fully compliant with the prescribed XML node structure. Just have a look at the below schema: <sl:RandomWindow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sl="http://www.ShwetaBlogs.com/Window" xsi:schemaLocation="http://www.ShwetaBlogs.com/Window wwRandomWindow.xsd">   <Title>First Window</Title>   <Border>Single</Border> </sl:RandomWindow> Below are the classes I created for serialization purpose: By using the XmlElement and XmlAttribute classes I was able to generate most of the required parts of the XML as shown below:   But the only th

The SDK ‘Microsoft.NET.Sdk.Web’ specified could not be found

If you are working on Visual Studio 2017 with update 3, then you might have come across the error 'The SDK ‘Microsoft.NET.Sdk.Web’ specified could not be found' in netcoreapp1.1 for both web and console. Unfortunately, I also landed up into this situation. So, one straight forward and temporary solution could be to edit the project file manually from Project Sdk = ”Microsoft.NET.Sdk.Web” to Project Sdk = ”Microsoft.NET.Sdk” and re-open the solution. Everything will work fine as expected. So, what are the reasons behind this error? I explored many articles on MSDN forums as well as looked at github link and the primary reasons which are causing this error are: Workstation is still holding an old preview version of CLI 1.0 Installed CLI version is correct but its path is incorrect. Solution : Uninstall all the older versions of CLI with 1.x as SDKs with version 1.x can break things Verify the value of PATH- Open the developer command prompt and verify the value o

Is your client request missing from IIS log?

One can enable IIS logging by going to IIS Manager and checking the Enable logging checkbox. So, it means if IIS logging is enabled, then each and every request made by the client should be showing up in the IIS log. Isn’t it? But by any chance, if the request is not present in IIS log then the most probable reason would be either IIS was not running or may be request was not made. But this statement is not 100% correct. Because whenever any request is made to the server, first it routes through HTTP.SYS then it comes to IIS. So, if anything is not visible under IIS logs, then one can see the logging for HTTP.SYS which is HTTPERR . The most common errors logged here are related to timeout or service unavailability. The next question would be, where these logs are exactly saved? You can find HTTPERR under C:\Windows\System32\LogFiles\HTTPERR

Unable to launch IIS Express from Visual Studio

Recently, while working on one of the web project, I came across a situation which ate up my almost an hour. Concern was, my IIS express was not launching automatically on running my web application from Visual Studio 2015. I tried various solutions like, ran the Visual studio as an Administrator, changed the port, disabled the firewall, reset the IISExpress folder. But no luck :( Then I thought, let's give a try by deleting the temporary folders which were created by Visual Studio and guess what? That worked for me.   The culprit was the .vs folder which was the hidden folder in the project's root directory. One of my colleague checked-in that folder by mistake and as I was fetching the code for the first time, it came on my machine. Actual felon was the .suo file which was inside .vs folder. This .suo file contains user specific settings. Hence same user settings didn’t work for me.   Solution - Deleting .vs folder did the trick :) Happy troubleshooting !!!

Possible Multiple Enumeration of IEnumerable

If you have worked with IEnumerable and using ReSharper , then you may land up into this warning, " Possible Multiple Enumeration of IEnumerable ". So, what this warning is all about? Well, before proceeding further, let’s see how we can store something into IEnumerable object . IEnumerable items = GetAllItems() So, above code itself speaks that items is a variable of type IEnumerable which will hold some values/objects we can iterate through. Now here lies the performance hit, which is also indicated in the form of ReSharper warning. This performance hit may not be significant for a small number of items. But this can be noticed while dealing with a huge number of items. Reason behind this is, whenever you are iterating through items collection, GetAllItems method will be called for the same number of times. Solution : It is always good to materialized the result in a list or array like below: IEnumerable items = GetAllItems().ToList() Once you are done w

.Net Architecture Guidance announced

Few days back, Microsoft announced the draft version of the .NET architecture guidance. This guidance is the combined effort of the Visual Studio team and the Microsoft Developer Division. As of today, it covers only 4 areas: ASP.NET Web applications Azure Cloud Deployment Xamarin Mobile Applications MicroServices and Docker You can find more about this guidance on Microsoft's documentation.