Wednesday, April 20, 2016
Tuesday, September 16, 2014
Singleton in ASP.NET web application
Question: One part of the web application is designed using singleton pattern. So across all users this object will be one. Is it correct?
Answer: Yes. There will be only one instance.
Each request to an asp.net site comes in and is processed on it's own thread. But each of those threads belong to the same application. That means anything you mark as static is shared across all requests, and therefore also all sessions and users.
Answer: Yes. There will be only one instance.
Each request to an asp.net site comes in and is processed on it's own thread. But each of those threads belong to the same application. That means anything you mark as static is shared across all requests, and therefore also all sessions and users.
Tuesday, August 12, 2014
Static Class
- Cannot derive from Static Class
- Cannot create instance of Static class using new keyword
- Static class can be public or internal
- Static class can NOT be private or protected or protected internal
- Static class can NOT have non-static members
1)
static class ThisClassIsStatic
{
static string comment;
static int count = 0;
}
class ThisIsDervied : ThisClassIsStatic //NOT POSSIBLE
{
}
2)
ThisClassIsStatic obj = new ThisClassIsStatic(); //NOT POSSIBLE
3)
public static class ThisClassIsStatic //POSSIBLE
{
}
4)
private static class ThisClassIsStatic //NOT POSSIBLE
5)
static class ThisClassIsStatic
{
static string comment;
static int count = 0;
int index = 0; //NOT POSSIBLE
}
private static class ThisClassIsStatic //NOT POSSIBLE
5)
static class ThisClassIsStatic
{
static string comment;
static int count = 0;
int index = 0; //NOT POSSIBLE
}
C# Base
class Program
{
static void Main(string[] args)
{
B b = new B();
Console.Read();
}
}
class A
{
internal int x = 10;
public int MyProperty { get; set; }
public A()
{
Console.WriteLine("A Constructor");
}
}
class B:A
{
public B(): base()
{
Console.WriteLine("B Constructor ");
}
}
What's the output of the above program?
Note: base keyword can be used ONLY from derived class's constructor to access base class members (non-private members)
{
static void Main(string[] args)
{
B b = new B();
Console.Read();
}
}
class A
{
internal int x = 10;
public int MyProperty { get; set; }
public A()
{
Console.WriteLine("A Constructor");
}
}
class B:A
{
public B(): base()
{
Console.WriteLine("B Constructor ");
}
}
What's the output of the above program?
Note: base keyword can be used ONLY from derived class's constructor to access base class members (non-private members)
Saturday, August 9, 2014
C# Extension Method - Sample
class Program
{
static void Main(string[] args)
{
string s = "hello please tell me the word count";
Console.Write(s.WordCount());
Console.Read();
}
}
public static class StringExtension
{
public static int WordCount(this string value)
{
return value.Split(' ').Length;
}
}
{
static void Main(string[] args)
{
string s = "hello please tell me the word count";
Console.Write(s.WordCount());
Console.Read();
}
}
public static class StringExtension
{
public static int WordCount(this string value)
{
return value.Split(' ').Length;
}
}
Wednesday, July 23, 2014
Cyclomatic Complexity
Cyclomatic Complexity:
- Measures structural complexity of code
- It is created by calculating number of different code paths in program
- In visual Studio 2012, use “Calculate Code Metrics” to identify cyclomatic complexity
- Cyclomatic Complexity values from
- 1 to 10 is Simple program – Less risk
- 11 to 20 is medium complex program – Moderate Risk
- 21 to 50 is complex program – High Risk
- >51 untestable program – Very high Risk
References:
Saturday, June 21, 2014
Application Level Exception Handling in ASP.NET
This can be done in Global.asax within Application_Error method.
Reference: http://msdn.microsoft.com/en-us/library/24395wz3.aspx
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
Subscribe to:
Posts (Atom)