Saturday, June 27, 2015

Dependency injection with Autofac : Getting started

I have been using dependency injection a lot in my projects. As it’s provide great flexibility to wire up things. Recently in free time I have been looking into some of open source architecture like Orchard and Nopcommerce. Both are using Autofac as dependency injector. As this IOC container are used in one of top successful project I got interested in Autofac and I started learning Autofac. I thought it will be a good idea to start a blog series for my learning so other can get benefit of it.

What is Autofac?

As per Autofac.org a site for Autofac
Autofac is an addictive Inversion of Control container for .NET 4.5, Silverlight 5, Windows Store apps, and Windows Phone 8 apps.
It is used in lots of application and one of the most popular IOC container in .NET world.  As per official documentation here is the basic pattern for integrating Autofac in your application.
  • Structure you application with Inversion of Control in mind
  • Add Autofac references( I prefer it using Nuget Package).
  • At application startup create a container builder
  • Register a component
  • Build container and store it for a later use.
  • Create lifetime scope of container during application execution.
  • Use lifetime scope to resolve instances of application.

Autofac Example:

So what we are waiting for, Let’s create a simple example. I’m going to create a sample application like following.

AutofacBasicConsoleApplication

After creating application, I have created a my interface IPrintService as following.
namespace AutoFacBasic
{
    public interface IPrintService
    {
        void PrintSomething(string text);
    }
}

Here is the implementation of interface in class like following.
using System;

namespace AutoFacBasic
{
    public class PrintService : IPrintService
    {
        public void PrintSomething(string text)
        {
            Console.WriteLine(text);
        }
    }
}

Now, We have done with basic stuff so it’s time to wire up component with Autofac. To add references for Autofac I’m going to use following nuget package.

nuget-package-autofac

After adding a Autofac reference via nuget package. I have written following code for that sample console application.
using Autofac;
using System;

namespace AutoFacBasic
{
    class Program
    {
        static void Main(string[] args)
        {
            //registering interface with class that implemented
            var builder = new ContainerBuilder();
            builder.RegisterType<PrintService>().As<IPrintService>();

            //Resolving inteface with autofac
            var container = builder.Build();
            var printService = container.Resolve<IPrintService>();
            printService.PrintSomething("Hello World");
            Console.ReadKey();
        }

    }
}

Here in the above code, If you see carefully. First I have created a object of Container Builder and then I have register type with print service. Then I have build container builder to get container object. After that I have resolved print service with container and get the object of printer service. Then I have printed Hello world with PrintSomeThing method. When you run application. Here is the output as expected.

autofac-console-application-output

That’s it. You can see how easily we can wire up things with Autofac. In future posts we will see some advance features of Autofac. Stay tuned for more!!.

You can find complete source code of this application at following location at github- https://github.com/dotnetjalps/AutofacSamples/
Share:
Wednesday, June 24, 2015

Completed 725 blog post and still counting

I’m not a fan of counting milestones but today it was huge one so I could not resist myself to write a blog post about it. Today this blog has been completed 725 Blog post.

I still could not believe this blog has come so far!. This will would not have been possible without you guys.

I promise that I try to keep updated this blog in weekly.  Also on this occasion I would also like to thank my family. Specially my wife who is continuously supporting me and sacrifice her time for my blog post.

Thanks you all again! . Also today I have changed my blog theme to a modern look. Hope you like it. Stay tuned for more. Keep reading my blog. 
Share:
Saturday, June 13, 2015

Double quotes not working with Visual Studio

Recently, In one of the development machine with Windows 7, I was having strange problem with Visual Studio 2013, When I type double quote first time it was not there and then after once again type I type then it was there. I was wondering what is going on. After digging into little deep, We figure out it was due to language settings and that is creating problem. After fixing languages I was able to fix this issue. I thought it will be good idea to write a blog post about it. So other can be benefits also.

So problem I was having is I have to type double quotes two times. To fix that problem first thing you need to do is Goto  control panel-> region and language options. There you need to go to Keyboard tab. In windows 8.1 Go to search and search for language preferences.

Once you go to language preferences select English US Keyboard. Set that as default.
Now once you are done with your control panel settings. It’s time to make settings changes in Visual Studio. To Change the settings in visual studio go to Tools –> Options –> Environment Settings –> International Settings.
Share:
Wednesday, May 13, 2015

Visual Studio 2015 Github tools

I love open source and that’s why I’m making all the source code of my blog post on Github. Now with Visual studio 2015 RC Microsoft and Github released a GitHub tools for visual studio. So now you can directly interact with your Github repositories from team explorer itself. Working with Github never be easy now.

Once you install, Github tools for Visual studio with visual studio 2015 installation. It will be available on Team explorer like below.

githu-tools-for-visual-studio

Share:
Saturday, May 2, 2015

My sample code for 2015 Global Azure Bootcamp Ahmedabad

Lots of people ask for my sample code application for my presentation on “Azure Storage Services”.  So here is source code(Sample application) for 2015 Global Azure Bootcamp, Ahmedabad.

Source code of sample application for  2015 Global Azure Bootcamp , Ahmedabad:

You can find source of sample application which I have created at following location on GitHub.
https://github.com/dotnetjalps/GlobalAzureBootcampDemo
Share:

Azure Frequently Ask Questions: How to create a storage account with new portal

After presenting About Azure Storage Services at Global Windows Azure boot camp at Ahmedabad. I got lot of feedback and questions. One of the frequently asked question was how we can create a storage account with new Azure portal Preview. So I thought it would be a great idea to write a walk through post for it.

As you know, Before few months Microsoft has launched a new Azure portal in preview mode. It’s amazing there are lots of features available. You can find azure portal at portal.azure.com. You can do lots of stuff and monitoring that were not possible with current portal. I've tried and really like it. Please do try it and tell community about your feedback.

How to create a storage account with new azure portal:

So what we are waiting for let’s start our walk through of creating a storage account with new portal. So once you put url in browser it will be ask for login with your azure live account.

Share:
Sunday, April 19, 2015

Structure and Operator overloading in C#

Recently I have been playing with structure and It’s fun. In this blog post we are going to learn how we can use operator overloading with structure in C#.  You can find my blog post that I have already written about structure  at following location.

Structure in C#
Structure with constructor in C#
Structure with Interface in C#

So as usual I've created a console application to demonstrate operator overloading in C#. Here I have created a structure with equals operator overloading and following is a code for that.
Share:

Structure with Interface in C#

Recently I have been playing with Structure and it is fun. I have written couple of blog post about structure. Following are links for that.

Structure in C#
Structure with constructor in C#

In this blog post we are going to learn how we can use structure with interface. So like earlier example I’ve created a console application. Now it’s time to write interface which we can implement with structure. Following is a code for that.
using System;

namespace StructureWithMethodAndInterface
{
    interface IPrintable
    {
        void Print();
    }
}
Here you can see that I have simple interface IPrintable which has simple print method. Now let’s create a structure which implement this interface. Following is a code for that.
Share:
Friday, April 17, 2015

Structure with constructor in C#

Before some time , I have written basic introduction post about Structure in C#. In this blog post we are going to see how we can have constructor with Structure. As we all know structure is a value type so it stored on stack. So let’s create a structure like follow with constructor.
public struct Customer
{
    #region Fields

    public int CustomerId;
    public string FirstName;
    public string LastName;

    #endregion 

    #region Constructor

    public Customer(int customerId, string firstName, string lastName)
    {
        CustomerId = customerId;
        FirstName = firstName;
        LastName = lastName;
    }

    #endregion
}
Here you can see I have created Stucture with parameter. As we all know structure is a value type so when initialize the it at that time we need to give values to its elements so that’s why default constructor without parameter is not supported in C#.

Share:
Wednesday, April 15, 2015

Structure in c#

In this blog post we are going to learn about Structure Data structure in C#. In C# Structure is value type which stores on Stack. It is a composite value type that contain other types. You can also create object of structure like class. In C# structure can  contains fields, properties, constants, constructors, properties, Indexers, operators and even other structure types.

So enough theory. Let’s create a sample console application to learn about structure.

structure-in-csharp

Share:

Support this blog-Buy me a coffee

Buy me a coffeeBuy me a coffee
Search This Blog
Subscribe to my blog

  

My Mvp Profile
Follow us on facebook
Blog Archive
Total Pageviews