URL Routing in MVC

This post gives a quick insight of URL Routing in MVC.

Overview

  • A Route is a URL Pattern mapped to a handler. A Handler can be physical file or a class file, that does processing
  • URL routing is about freedom from URLs referring to physical files in a web application.
  • In an MVC URL Routing, Actions are mapped to respective Controllers.

Example :

Traditional URL mapping (Web Forms Application) : “localhost/Vehicle/Detail.aspx?VehicleID=12”

This narrates that our web application contains a directory named “Vehicle” & within this folder we have a physical file “Detail.aspx”

URL Routing in MVC  Application : “localhost/Vehicle/Detail/12”

This narrates that our MVC application has a controller “VehicleController” having an Action “Detail”

When we create an MVC 4 web-application it adds following piece of code in RouteConfig.


public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
 

How It works.

Our default routing contains  3  parameters

  1. {controller}  : Name of controller class
  2. {action} :  Name of Action within the controller class
  3. {id} : Parameter needed to process Action

For each incoming request , the MVC framework first locates the controller file, “HomeController”  & then locates the Action “Index” within the controller. Finally It passes parameter {id} to execute located Action.

It is important to note that we don’t need to mention full name of controller as it automatically appends “Controller”  to “Home” & starts locating “HomeController”

Reference :

http://msdn.microsoft.com/en-us/library/cc668201.ASPX

Advertisements

WCF vs WebService

This post quickly explains difference between WCF & WebServices.

1. Protocols:

  • Web service supports HTTP via SOAP.
  • WCF supports HTTP, TCP,MSMQ, UDP , Named Pipe and many custom formats  SOAP, JSON, REST etc

2. Security:

  • Web Service provides only transport level security.
  • WCF supports Transport Level , Message Level & Data Level Security.

3. Hosting:

  • Web Service can be hosted in IIS only
  • WCF  can be hosted on IIS, WAS- (Windows Activation Server) , Managed Windows Service. Also it can be self hosted ( windows form , console app )

4. Migration:

  • Any .net distributed applciation can be easily migrated to WCF with very fewer changes.
  • Not easily possible in Web Service.

5. Serialization:

  • In order to serialize a web service we need to explicitly specify serialization attributes using  XML Serialization
  • WCF incorporates  Serialization by default for exposed methods using WCFSerialization.

ActiveX Explained

This post provides a quick overview of ActiveX.

ActiveX are Extension of OLE.  Primarily defining how information would be shared by applications. ActiveX focus is on connected environment particularly World Wide Web. Microsoft added ActiveX support to Internet Explorer (IE 3.0) in 1996, It would download certain ActiveX for websites to enhances user experience. It has more control to windows operating system, thus it is more prone to associated security risks. ActiveX is only supported by Microsoft Operating Systems.

OLE Explained

This post provides a quick overview of OLE – (Object Linking & Embedding).

OLE – simply is a standard to embed different documents together. One document type containing an object of another document type is said to be a compound document. The contained /embedded document objects retain their properties. This

A common example of OLE is a spreadsheet object (MS Excel) being contained within a word processor (MS Word ). While the user would only be able to edit a document type ( MS Word / MS Excel) If the required software (that understands the document type) is installed on machine.

Dynamic Data Exchange (DDE) Explained

This is a quick overview of DDE – Dynamic Data Exchange.

Windows applications often require to exchange information with multiple application instances or even with different application instances. These applications may be running on a single machine or on several machines in a network environment. Several standard protocols have been developed to address these requirements. This communication is referred as interprocess communication.

DDE – Dynamic Data Exchange is among earlier versions of such data transfer protocols. It sends data to & from applications. This protocol can be used for one time data exchange or progressive data exchange. DDE was first introduced in 1987 & since it uses Windows Messaging Layer, therefore it still works in modern versions of Microsoft operating systems.

DDE – supports several Data Exchange formats & custom formats could be defined for specialized inter-process communications.