Saturday, June 21, 2014

Application Level Exception Handling in ASP.NET

This can be done in Global.asax within Application_Error method.

void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();
 
    if (ex.GetType() == typeof(HttpUnhandledException))
    {
        if (ex.Message.Contains("NoCatch") ||
ex.Message.Contains("maxUrlLength") ||
ex.Message.Contains("File does not exist."))
            return;
           
     
        Response.Write("~/Error.aspx");
    }

    Server.ClearError();
}

Reference: http://msdn.microsoft.com/en-us/library/24395wz3.aspx

Tuesday, June 17, 2014

Difference Between Sql Server VARCHAR and NVARCHAR Data Type


  • varchar : Non-Unicode variable length character type
  • nvarchar : Unicode variable length character type

Note: nvarchar can store both non-Unicode and Unicode characters(Example: Japanese, Korean)

Monday, May 12, 2014

Relationships in SQL Server



One-To-Many
  • One DeviceClass can have many DeviceTypes
  • Key symbol represent one, infinity symbol represent many
  • Note: You don’t have to have many. 


Many-To-Many
  • Not as common as One-To-Many
  • Many-To-Many relationship is expressed with help of junction tables
  • A table name with a joint name of two tables


One-To-One
  • Least commonly used relationship
  • One row in one tables is related to, One row in other table

Wednesday, May 7, 2014

Is C# a 100% Object Oriented Programming Language?

C# is NOT a pure object oriented programming language. 

Object oriented language should support:
  1. Encapsulation
  2. Polymorphism
  3. Inheritance
  4. All predefined type are objects
  5. All operations performed by sending messages to objects
  6. All user-defined types are objects
C# does not support point#4 & 5. 

In C#, predefined type can be struct. Example: integer > public struct Int32

So C# does not qualify as pure object oriented language.




Reference:

Wednesday, February 19, 2014

.NET Framework 4 Features

Background garbage collection:
  • Provides background garbage collection 
  • Provide better performance.
  • It replaces concurrent garbage collection.
ETW (event tracing for windows):
  • This determines processor usage and memory usage estimates per app domain.

DLR (dynamic language run-time):
  • Support with System.Dynamic namespace. 
  • DLR built on top of CLR
  • DLR supports dynamic languages (IronPython, IronRuby)

Parallel programming:
  • Parallel programming is introduced
  • PLINQ
  • AsParallel 

Tuple:
  • Data structure consists of multiple parts
  • System.Tuple
  • Maximum of 8 items supported

BigInteger: is introduced with 8 byte storage size. int is 4 byte.


Reference: core new features and improvements


ASP.NET:


New Chart control
:


Routing:
  • Built-in support for routing. 
  • No need to specify physical file names.
Session:
  • Introduced compression option for out-process session state (state server/ SQL Server)

JQuery:
  • is included in script folder


Tuesday, October 8, 2013

Tuesday, March 12, 2013

Windows Service observations

Scenario: A windows service actively monitor the replication status in StatusDB. On status change, windows service open the configuration file of QuickSet service/Standard webservice and modify it. Windows service will also restart the IIS in order to reflect the configuration file changes immediately. This helps Quickset service/Standard web services in pointing to StandbyDB/LiveDB automatically.


Note:

  • Debugging windows service is a real bottleneck.
  • Use Microsoft event log for logging purpose. Event viewer helps to navigate through logs.
  • Test the code in console application, then move it to windows service
  • It is better to use SQL server authentication when connecting from windows service to SQL Server. 
  • If windows service runs under Local System, then it won't be able to create instance of SQL server connection. Service property > Log on > Select a network account.
  • Polling has to be done in a different thread.

Reference: