Skip to main content

Posts

Unity vs MEF in Prism

Prism offering two injection containers named Unity and MEF. Both the containers have their own capabilities. Before choosing the container decide your environment needs. Some of the capabilities provided by both ( Unity & MEF ) containers include the following: Both register types with the container. Both register instances with the container. Both imperatively create instances of registered types. Both inject instances of registered types into constructors. Both inject instances of registered types into properties. Both have declarative attributes for marking types and dependencies that need to be managed. Both resolve dependencies in an object graph. Unity provides several capabilities that MEF does not: Unity resolves concrete types without registration. Unity resolves open generics. Unity uses interception to capture calls to objects and add additional functionality to the target object. MEF provides several capabilities that Unity does not: MEF discovers assemblies in a dir...

Advantages of Prism

Reusability : Prism allows building component in one framework (WPF) and reusing it in other platforms (Silverlight, Windows Phone). Project architecture should design in such a way. Modularity : As everything is break down into modules, Prism supports modularity due to this PRISM is flexible, extensible . Extensibility : Due to Prism design patterns nature new functionality that is to be added is easily extensible for future purpose. Maintainability : The large scale complex applications developed using Prism are maintenance friendly. Flexibility : Prism is flexible to develop large complex applications. Team Collaboration : Simultaneous module development is possible and Multiple teams can work on different modules simultaneously. Fault Tolerance : It allows components to be thoroughly and completely tested thus results in error free application development of better quality.  

What is Prism?

Prism is a framework or the set of guidelines which is used to develop  Composite or Complex applications specific to WPF , Silverlight or Windows Phone .   It's a kind of Design Pattern to develop XAML based applications.  Prism mainly helps to design the Loosely Coupled components which can be easily integrated with other components of the application. It uses modularity and allows to break application into pieces can be called as Modules.   Prism uses design patterns like MVVM , Command Pattern , Dependency Injection (DI) and Inversion of Control (IoC) and Separation of Concerns to achieve Loosely Coupling. Prism has the following advantages over other frameworks. Reusability, Extensibility, Flexibility, Team Collaboration, Fault Tolerance, Maintainability and Modularity. Prism has 5 main components: 1) Shell: Template that Defines structure of the UI. Shell can contains several regions. 2) Regions: Regions are used to specify specific portion of shell as ...

How can we identify partial classes in C#?

The class declaration with the keyword partial is denoting that the class is a partial class. Physically the partial classes can be available in different files/locations. The C# compiler treat them as a single class at the time of compilation.           public partial class PartialClassExample         {             public void MethodOne( int input)             {                 /// Do something .             }         }         public partial class PartialClassExample         {             public string MethodTwo( string input)             {                 return string .Format( "Hello, {0}" , input);             } ...

Face to Face Interview for 5+ years experienced .Net Developers

Interviewer: Hi Loganathan, Good morning. How are you? Me: Great, How are you? Interviewer: I'm good. Can brief about yourself? Me: Well, I started my career with .Net framework 2.0 then worked on 3.5 and 4.0 frameworks as well. So, I can work on any frameworks. I've no chance to develop a desktop application. From the begining I'm working as a pure Web developer. Initially started with ASP.Net web applications development and moved to Silverlight applications. I've well experience in C#, SQL Server 2005/2008 and WCF. I used Microsoft Enterprise Library Application blocks and LINQ in my applications. I worked in both Waterfall model and Agile model environments. Currently working as a Senior Developer. My roles and responsibilities are developing controls in Silverlight, writing WCF methods and consuming them in our applications, writing new stored procedures or modifying, doing unit testing and code review. Interviewer: Great, Can you explain about your current project...

Large Volume of Dataset Transfer from WCF to Silverlight

Most of the times the developers, architects have the problem to retrieve large volume of data from WCF Service to Silverlight client applications. It’s a big head ache for developers. But it’s not up to that much problematic one. We can solve this problem by changing some property’s values in Web.config of WCF Service host, Silverlight application’s ServiceReference.clientconfig and Silverlight XAP hosted ASP.Net Applications. Here I’m going to explain the Web.config changes we need to retrieve large volume of data from WCF Service and also uploading large size of files to the Server. Last week, I was trying to figure out why my WCF service call always threw the generic NotFound exception when trying to retrieve large datasets. Even though, I set buffer limits to 2147483647 (int.MaxValue) in the Silverlight ServiceReferences.ClientConfig file and WCF Service configuration Section under web.config the problem was persisting. I tried so many things from Data Access Layer and UI. Finall...

What is GAC?

GAC is nothing but the folder where we have installed the shared assemblies. Still framework 2.0 it was installed in the folder C:\Windows\assembly\ The location of the GAC is changed by the framework 4.0. When installing the assemblies created by 4.0 Environment, it will install in the following folder: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\MySharedAssemebly\v4.0_10.0.0.0__b03f5f7f11d50a3a\ C:\Windows\Microsoft.NET\assembly\GAC_32\CustomMarshalers\v4.0_4.0.0.0__b03f5f7f11d50a3a The assemblies created by us will be installed under the GAC_MSIL folder. GAC_MSIL contains assemblies thet are run 32 bit or 64 bit machines. GAC_32 is only for 32 bit machine assemblies. Here, MySharedAssemebly is the shared assembly name.