ASP.NET Identity with webforms

Towards the end of last week ASP.NET Identity 2.0 was released. ASP.NET Identity has been developed with the following goals:

  • To provide a single framework that will work with all of the ASP.NET frameworks, such as ASP.NET MVC, Web Forms, Web Pages, Web API, and SignalR.
  • To give the user control over the schema of user and profile information.
  • To allow users to write unit test against parts of the application that use ASP.NET Identity.
  • To make it OWIN compatible. ASP.NET Identity uses OWIN authentication for managing users of a web application. This means that instead of using FormsAuthentication to generate the cookie, the application uses OWIN CookieAuthentication.
  • To support claims-based authentication, which allows developers to be a lot more expressive in describing a user’s identity than membership roles.
  • To allow user to be authenticated using their social log-ins such as using Microsoft Account, Facebook, Twitter, Google, and others.
  • And to enable ASP.NET team to have rapid release cycles, by making ASP.NET Identity available as a NuGet package.

Continue reading


Jump Start : Using MongoDB with C#

Among NoSQL databases, MongoDB is very much popular. For those who need an introduction, MongoDB is an open sourced document database providing high performance, availability, and automatic scaling. Being a document database, a record/row in MongoDB is know as document. The data structure of a document is similar to JSON object, having key and value pairs. A key is a string, whereas the value can be a string/ number/ another document/ arrays/ arrays of documents. A document looks like this:

Continue reading

Javascript and CSS file versioning

Lately, I was in conversation with our QA lead, which made us realize of an issue that, certainly will cause inconvenience to the end users of the web application on which we are working on. Although the issue is very much common and is to be faced by all web developers, though it came late to me, I would defend myself by saying, ‘better late than never’.

Now the problem,

Our web application relies heavily on javascript and css and we follow a rapid release cycles. Each release adds a whole bunch of new features and modifications. Hence a lot of changes to the same old javascript and css files. After a rigorous testing the product goes live for the end users. Now there will surely users telling the current released is buggy and everything on a page breaks. But wait a minute, why this would happen as all went fine during testing. Oh yes, but did we notify the end users browser that our so and so js and cs files have changed and it needs to get a fresh copy of it for the things to work properly. Of course we didn’t, so what to do, tell the  end user to clear the cache(CTRL+F5), so that it makes browser to get fresh copy of all files, well isn’t this annoying.

Continue reading

Should I be concerned about PDB files ?

I still can remember, the first time I encountered PDB files. “Should I be concerned about PDB files ?” and was quickly replied as “it’s just another file used in the debugging process”, by a colleague. Till yesterday, I had the same definition with me. Let me share with you what I found more about it.

A PDB(Program Data Base) file generated by Visual Studio, is used by a debugger and it contains mapping information. It maps the identifier and the statements in the source code to the ones present in the generated executable or dll. Out of this mapping information it concludes two pieces of information: the source file name and the line number that are displayed in the Visual Studio IDE; and  the location in the executable to stop at when you set a breakpoint. Continue reading

Unit Testing using Visual Studio

As developers, we always write code targeted to achieve a certain feature/functionality. The piece of code is written down with best efforts to be bug free and to work exactly as expected.  Unfortunately we human beings are prone to make errors & mistakes, as a result bugs do creep in. Hence it is always advisable to test out individual units of code, in order to be sure  enough that your implementation actually works. With this we are introduced to the term “Unit Testing”. We can define unit testing in this manner:

It is the methodology of testing out individual units of behaviour. An individual unit of behaviour is the smallest possible unit of behaviour that can be individually tested in isolation.

Continue reading