All the Operation of Getdate()


Friday, July 15, 2011

Hello developers,

Please find all the operation done on particular getdate() function,



--Get today date
select getdate()

--Get Day
select DATENAME (DW,GETDATE())

--Get date of sundays in month
declare @d1 datetime, @d2 datetime
--select @d1 = '5/1/2009'
--,@d2= '5/31/2009'

select @d1 = CONVERT(datetime, DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))-1),DATEADD(mm,0,GETDATE())), 103)
,@d2= CONVERT(datetime, DATEADD(d, -DAY(DATEADD(m,1,getdate())),DATEADD(m,1,getdate())), 103)

;with dates ( date )
as
(
select @d1
union all
select dateadd(d,1,date)
from dates
where date < @d2
)
select day(date) as sundaydate from dates where datename(dw,date) = 'Sunday'


--Get total number of days in month
select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))))

--First Day of month
SELECT DAY(DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))-1),DATEADD(mm,0,GETDATE())))

--Last Day of month
SELECT DAY(DATEADD(d, -DAY(DATEADD(m,1,getdate())),DATEADD(m,1,getdate())))


--First Date of month
SELECT CONVERT(VARCHAR(10), DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))-1),DATEADD(mm,0,GETDATE())), 103)

--Last Date of month
SELECT CONVERT(VARCHAR(10), DATEADD(d, -DAY(DATEADD(m,1,getdate())),DATEADD(m,1,getdate())), 103)

--Get date of date
select DAY(getdate())



Thanks
Hope this post will help you,
if yes please put comment below of this page,
Rajesh Singh,
Senior Asp.Net Developer
Email: raj143svmit@gmail.com

e-Procurement Technologies Ltd (India)
www.abcprocure.com

File 3


Friday, July 8, 2011

1) Define some facts about Temporary table and there types
ans: Temporary table name is limited t 116 characters. Local temporary table created with single # and then name of table.
And this table is to be deleted explicitly and if it is created in store procedure it will be dropped at the end of store procedure.
On the other hand if are talking abut Global variable tables start with ## and these are dropped on the session ends.
And some more facts about the Temporary tables is that these cannot be partitioned and we c
annot create key constraints to these tables and one more thing is that we cannot create user-defined data types in tempdb.

2) What are the different index configurations a table can have
ans: (1)No indexes
(2)A clustered index
(3)A clustered index and many nonclustered indexes
(4)A nonclustered index
(5)Many nonclustered indexes

3)What do you mean by KEYSET Cursor
ans: KEYSET Cursor uses the set of keys that are primary key or we can saw uniquely identify the cursor's rows.
SQL Server uses a table in tempdb to store keyset. The KEYSET cursor helps to updates non key values from being made through this cursor,
but when inserts made by other users are not visible. Updates nonkey values made by other users are visible as the owner scrolls around the cursor,
but updates key values made by other users are not visible.

3)Here are some instruction when creating a store procedure to increase speed
ans: Here are the some good tips when creating a store procedure

(1)Always use ANSI92 syntax avoid to use the old syntax.
(2)Use SQL keyword in capital letters to increase readability.

(3)Use few possible variables to increase cache memory.
(4)Try to avoid dynamic queries if we are not using dynamic query there is no recompilation of execution plan but on the other side
if we are using dynamic query every time we need recompile of plan.

(5)Use SET NOCOUNT ON this will helps us to get number of row effected without network traffic.
(6)To avoid recompilations use OPTION KEEPFIXED PLAN.

(7)In Select and Set use select to assign value to variable it is much faster than multiple set statement.
(8)Try to avoid IN. IN counts Null values so use EXISTA there. EXISTS which return only boolean value and IN return heavier result than EXISTS.

(9)In CAST and CONVERT always try to use CAST it is ASNI92 standard.Use convert in case of datetime.
(10)Avoid Distinct and Order by clause.These class needs extra space.

(11)Avoid cursor so use while loop for that and temparory tables.
(12)Avoid to use * in select statement.

(13)Avoid correlated sub queries.
(14)Avoid select * into for large tables it locks the system objects.

(15)Avoid temporary tables because it will recompile the procedure.
4)Size of Clustered NonClustered in 2005 and 2008
ans: In SQL 2005 and earlier there was a limitation of 250 indexes per table, one clustered and 249 non-clustered. In SQL 2008,
with the addition of filtered indexes, that limitation was increased to 1000, one clustered and 999 non-clustered indexes.

5)Difference between Set and Select
ans: Set is a ANSI standard for variable assignment.

Select is a Non-ANSI standard when assigning variables.
We can assign only one variable at a time

We can assign multiple variable at a time
When assigning from a query that returns more than one value, SET will fail with an error.

When assigning from a query that returns more than one value, SELECT will assign the last value returned by the query and hide the fact that the query returned

6)How many different locks in SQL SERVER
ans: (1)Intent

(2)shared
(3)Update

(4)Exclusive
(5)Schema

(6)Bulk Update
7)What is the use of OLAP
ans: OLAP(On-Line Analytical Processing) is useful because it provides fast and interactive access to aggregated data and the ability to drill down to detail.

8)What do you mean by Filtered indexes
ans:Filtered indexes are a new feature in SQL 2008 and they allow for an index to contain only some of the rows in the table. Prior to this,
an index would always have, at the leaf level, the same number of rows as the table. With filtered indexes, an index can be based on just a subset of the rows.
When creating a filtered index, a predicate is specified as part of the index creation statement. There are several limitations on this predicate. The comparison ca
nnot reference a computed column, a column that is declared as a user-defined type, a spatial column or a hierarchyid column.
A clustered index cannot be filtered as it is the actual table.

9)What are Sparse Columns in Sql Server2008
ans:sparse column is a tool that helps to reduce amount of physical storage used in a database.
These are ordinary columns that have an optimized storage for all null values.SPARSE column are better at managing NULL and ZERO values in SQL Server.
It does not take any space in database at all.

10)Difference between Triggers and Storedprocedures
Triggers are basically used to implement business rules.Triggers is also similar to stored procedures.
The difference is that it can be activated when data is added or edited or deleted from a table in a database.
Triggers are special kind of stored procedures that get executed automatically when an INSERT,UPDATE or DELETE operation takes place on a table.

11)Diffrence between temp table and table variable
(1)Temp Tables are created in the SQL Server TEMPDB database and therefore require more IO resources and locking.
Table Variables and Derived Tables are created in memory.

(2)Temp Tables will generally perform better for large amounts of data that can be worked on using parallelism whereas
Table Variables are best used for small amounts of data (I use a rule of thumb of 100 or less rows) where parallelism would not provide
a significant performance improvement.
(3)You cannot use a stored procedure to insert data into a Table Variable or Derived Table.
For example, the following will work: INSERT INTO #MyTempTable EXEC dbo.GetPolicies_sp whereas the following will generate an error:
INSERT INTO @MyTableVariable EXEC dbo.GetPolicies_sp.

(4)Derived Tables can only be created from a SELECT statement but can be used within an Insert, Update, or Delete statement.
(5) In order of scope endurance, Temp Tables extend the furthest in scope, followed by Table Variables, and finally Derived Tables.

12)Diffrence between varchar and nvarchar
An nvarchar column can store any Unicode data. A varchar column is restricted to an 8-bit codepage. Some people think that varchar should be used
because it takes up less space. I believe this is not the correct answer. Codepage incompatabilities are a pain, and Unicode is the cure for codepage problems.
With cheap disk and memory nowadays, there is really no reason to waste time mucking around with code pages anymore.

13)What is SQL injection
SQL injection is a security vulnerability that occurs in the database layer of an application. The vulnerability is present when user input is
either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed.
It is in fact an instance of a more general class of vulnerabilities that can occur whenever one programming or scripting language is embedded inside another.

14)What are Checkpoint in SQL Server
When we done operation on SQL SERVER that is not commited directly to the database.All operation must be logged in to Transaction Log files after that
they should be done on to the main database.CheckPoint are the point which alert Sql Server to save all the data to main database if no Check point
is there then log files get full we can use Checkpoint command to commit all data in the SQL SERVER.When we stop the SQL Server
it will take long time because Checkpoint is also fired.

15)What is the difference between UNION ALL Statement and UNION
The main difference between UNION ALL statement and UNION is UNION All statement is much faster than UNION,the reason behind this is that
because UNION ALL statement does not look for duplicate rows, but on the other hand UNION statement does look for duplicate rows, whether or not they exist.

16)Write some disadvantage of Cursor
Cursor plays there row quite nicely but although there are some disadvantage of Cursor . Because we know cursor doing roundtrip it will make
network line busy and also make time consuming methods. First of all select query gernate output and after that cursor goes one by one so roundtrip
happen.Another disadvange of cursor are ther are too costly because they require lot of resources and temporary storage so network is quite busy.

17)What is different in Rules and Constraints
Rules and Constraints are similar in functionality but there is a An little diffrence between them.Rules are used for backward compatibility .
One the most exclusive diffrence is that we an bind rules to a datatypes whereas constraints are bound only to columns.So we can create our own
datatype with the help of Rules and get the input according to that.

18)What is the difference between a HAVING CLAUSE and a WHERE CLAUSE
Having Clause is basically used only with the GROUP BY function in a query. WHERE Clause is applied to each row before they are part of the
GROUP BY function in a query.

19)What are the advantage of User Defined function over store procedure
There are no of benefits of SQL Server User-Defined functions.Some of these are here we can use these functions in so many different places with
comparison to SQL Server stored procedure.Two of user define function acts like a table (Inline and Multi-statement functions) helps developers to
reduce the code and break complex logic in short code blocks.On the other hand Scalar User-Defined Function have ability so that we use this function
anywhere where we
need some single value result or some of opertion.Combining these advantages with the ability to pass parameters into these database objects makes
the SQL Server User-Defined function a very powerful tool.

20)

File 2




what is interface?
how we can use interface in .net?

what is partial class?
what is the difference between partial class and abstract class?

what is constructor?




what is difference between function and SP?
User-defined function
=====================

A user-defined function is a routine that encapsulates useful
logic for use in other queries. While views are limited to a
single SELECT statement, user-defined functions can have multiple SELECT statements and provide more powerful logic than is possible with views.

1>Procedure can return zero or n values whereas function can return one value which is mandatory.

2>Procedures can have input,output parameters for it whereas functions can have only input parameters.

3>Procedure allow select as well as DML statement in it whereas function allow only select statement in it.

4>Functions can be called from procedure whereas procedures cannot be called from function.

5>Exception can be handled by try-catch block in a procedure whereas try-catch block cannot be used in a function.

6>We can go for transaction management in procedure whereas we can't go in function.

7>Procedures can not be utilized in a select statement whereas function can be embedded in a select statement.





what is sclar and static function in sql server 2005?

why we set 'SET NOCOUNT ON and OFF'?
Ans : SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.

why we set SET ANSI_NULLS ON and OFF?

why we SET QUOTED_IDENTIFIER ON ?

what is the difference between SP and Trigger?

if we have 1000 rows in table and no primary key or anything, how we will get 99 th row from the table?

what is WCF and WPF?

what is silverlight?

how do you handle xml pharasing in .net code or sql server?



what is temp table and what is the difference between temp table and local table?
Ans :A local temporary table lives until the connection is valid or until the duration of a compound statement.

They are created using same syntax as CREATE TABLE except table name is preceded by ‘#’ sign. When table is preceded by single ‘#’ sign, it is defined as local temporary table and its scope is limited to session in which it is created.

Open one session in Query Analyzer or SSMS (Management Studio) and create a temporary table as shown below.

CREATE TABLE #TEMP
(
COL1 INT,
COL2 VARCHAR(30),
COL3 DATETIME DEFAULT GETDATE()
)
GO


A global temporary table is permanently present in the database. However, the rows of the table are present until the connection is existent. Once the connection is closed, the data in the global temporary table disappears. However, the table definition remains with the database for access when database is opened next time.

Syntax difference between global and local temporary table is of an extra ‘#’ sign. Global temporary tables are preceded with two ‘#’ (##) sign. Following is the definition. In contrast of local temporary tables, global temporary tables are visible across entire instance.

CREATE TABLE ##TEMP_GLOBAL
(
COL1 INT,
COL2 VARCHAR(30),
COL3 DATETIME DEFAULT GETDATE()
)
GO




How many types of cache are there in .net?
Ans :Caching is a feature that stores data in local memory, allowing incoming requests to be served from memory directly.

ASP.NET provides the following types of caching that can be used to build highly responsive Web applications:

1.Output caching : which caches the dynamic response generated by a request.
2.Fragment caching : which caches portions of a response generated by a request.
3.Data caching : which allows developers to programmatically retain arbitrary data across requests.


Type of exception handling in .Net ?
Ans: There are three ways to handle exceptions/errors in ASP.NET:

try-catch block. This is also called Structured Exception Handling (SEH).
Error Events.
Custom Error Page.

try-catch Block
Enclose code that accesses files, databases, and so forth inside a try-catch block because access to those resources might be denied due to various reasons causing an exception. The third part of this block is finally. It is executed irrespective of the fact that an exception has been raised. Hence, use the finally block to complete the housekeeping jobs.

Using Error Events
There are three different error events in ASP.NET that can be used in conjunction with SEH so that all exceptions are handled and the user is presented with a user-friendly error message.

Page_Error: Occurs when an error occurs within the Web page. This event is in the Web form.
Global_Error: Occurs when an error occurs within the application. This event is in the Gloabl.asax file.
Application_Error: Occurs when an error occurs within the application. This event is in the Gloabl.asax file.
Methods in the Server object are used to handle the exception in the error events.

GetLastError: Gets the last exception that occurred on the server.
ClearError: Use this method to handle the exception and stop the error to trigger the subsequent error event or display the error to the user.


Using Custom Error Pages
Use custom error page to handle HTTP exceptions such as page not found, unauthorized access, and so forth. You can specify custom error pages in two places:

customErrors section of the web.config file. This setting specifies the application-wide error page to display for unhandled HTTP errors. HTTP errors are identified by the HTTP status code. Include the tag in the customErrors to display a status code-specific error page. Does not work with .htm or .html files. Set the mode attribute to "On" to view the error page locally.
errorPage attribute of the @Page directive of the Web form to display the error page for the error generated on the particular Web form.



what is IIS Metabase..

IIS metabase is the repository of the configuration values that are set in the Internet Information Server (IIS). The IIS metabase in an XML file. It may be controlled through program or manually too.

In order to edit IIS metabase entries, the user needs to have administrative rights on the system. To do this, in run window, type "inetmgr". Browse to "Local Computer" and right click it. Click on "Properties". Select the "Enable Direct Metabase Edit" check box.

Many times, due to the existence of multiple versions of .NET framework, some settings in the IIS metabase may get affected and cause your program not to run. For such scenarios, you may take a backup of the IIS metabase XML file and recover it. To create a portable backup, open run window and type "inetmgr". Next browse to "Local Computer" and go to "All Tasks". Next, click on Backup/Restore Configuration. Next, click on "Create Backup". In the textbox box for Configuration Backup name, type a name for your backup file. Also select the encrypt backup option and type a password. To finish the process, click "OK".

File 1




Abstraction

Abstraction is a process of identifying the relevant qualities and behvaiors an object should possess.

Lets take an example to understand abstraction. A Laptop consists of many things such as processor, motherboard, RAM, keyboard,
LCD screen, wireless antena, web camera, usb ports, battery, speakers etc. To use it, you don't need to know how internally LCD screens,
keyboard, web camera, battery, wireless antena, speakers works. You just need to know how to operate the laptop by switching it on.

complexity is managed by using abstraction

Encapsulation

Encapsulation is a method for protecting data from unwanted access or alteration by packaging it in an object
where it is only accessible through the object's interface. Encapsulation are often referred to as information hiding.

For example, the Laptop is an object that encapsulates many technologies/hardwares that might not be understood clearly by most people who use it.

Inheritance

inheritance is a way to form new classes (instances of which are called objects) using classes that have already been defined.

Inheritance should not be confused with (subtype) polymorphism, commonly called just polymorphism in object-oriented programming.

Inheritance is a relationship between implementations, whereas subtype polymorphism is relationship between types (interfaces in OOP)

Polymorphism

Polymorphism is briefly described as "one interface, many implementations

There are two types of polymorphism.
Compile time polymorphism - It is achieved by overloading functions and operators
Run time polymorphism - It is achieved by overriding virtual functions


--------------------------------------------------------------------------------------
ASP.NET 2 Special Folders

App_Data
App_Code
App_Browsers
App_GlobalResources(.resx)
App_LocalResources
App_Themes
Bin
App_WebReferences

--------------------------------------------------------------------------------------
Global.asax

Application_Start
Application_End
Application_Error
Session_Start
Session_End


--------------------------------------------------------------------------------------
Access Specifiers

In C# .net the access specifiers are:
1.private
2.Internal
3.protected
4.protected Internal
5.Public

1)Public: if we declare any member as public then it can be
accessed from anywhere.
ex: Class Myclass1
{
public int x;
public int y;
}
Class Myclass2
{
public static void main()
{
Myclass1 mc=new Myclass1();
//direct accessing public member
mc.x=10;
mc.y=15;
console.writeline(mc.x,mc.y);
}
}

2)Private: Private members are accessible only within the
body of the class or the struct in which they are declared.
ex:
class Employee
{
public string name = "Jeet";
double salary = 100.00; // private access by default
public double AccessSalary() {
return salary;
}
}

class MainClass
{
public static void Main()
{
Employee e = new Employee();

// Accessing the public field:
string n = e.name;

// Accessing the private field:
double s = e.AccessSalary();
}
}
double s = e.salary; //can not be accessed due to private
lavel....

3)Protected: A protected member is accessible from within
the class in which it is declared, and from within any class
derived from the class that declared this member.

ex:class A
{
protected int x = 123;
}

class B : A
{
void F()
{
A a = new A();
B b = new B();
a.x = 10; // Error
b.x = 10; // OK
}
}
//a.x =10 generates an error because A is not derived from B.

4)internal - the members can access from the same project,
but any class

5)protected internal --> dual scope( internal + protected ).



--------------------------------------------------------------------------------------
There are six type of join in SQL 2000

1) INNER JOIN
2) OUTER JOIN
3) CROSS JOIN
4) EQUI JOIN
5) NATURAL JOIN
6) SELF JOIN


1) INNER JOIN :- PRODUCESS THE RESULT SET OF MATCHING ROWS
ONLY FROM THE SPECIFIED TABLES.

EXAMPLE---

SELECT COLUMN_LIST FROM 1ST_TABLE_NAME JOIN 2ND_TABLE_NAME
ON
1ST_TABLE_NAME.MATCING_COLUMN=2ND_TABLE_NAME.MATCING_COLUMN

2) OUTER JOIN :- DISPLAY ALL THE ROWS FROM THE FIRST TABLE
AND MATCHING ROWS FROM THE SECOND TABLE.

EXAMPLE---

SELECT COLUMN_LIST FROM 1ST_TABLE_NAME OUTER JOIN
2ND_TABLE_NAME
ON
1ST_TABLE_NAME.MATCING_COLUMN=2ND_TABLE_NAME.MATCING_COLUMN

THERE ARE THREE TYPES OF OUTER JOIN:

A)LEFT OUTER JOIN.
B)RIGHT OUTER JOIN.
C)FULL OUTER JOIN

A)LFET OUTER JOIN :- DISPLAYS ALL THE ROWS FROM THE FIRST
TABLE AND MATCHING ROWS FROM THE
SECOND TABLE.

EXAMPLE---

SELECT COLUMN_LIST FROM 1ST_TABLE_NAME LEFT OUTER JOIN
2ND_TABLE_NAME ON
1ST_TABLE_NAME.MATCING_COLUMN=2ND_TABLE_NAME.MATCING_COLUMN

A)RIGHT OUTER JOIN :- DISPLAYS ALL THE ROWS FROM THE
SECOND TABLE AND MATCHING ROWS FROM
THE FIRST TABLE.

EXAMPLE---

SELECT COLUMN_LIST FROM 1ST_TABLE_NAME RIGHT OUTER JOIN
2ND_TABLE_NAME ON
1ST_TABLE_NAME.MATCING_COLUMN=2ND_TABLE_NAME.MATCING_COLUMN

A)FULL OUTER JOIN :- DISPLAYS ALL MATCHING AND NONMATCHING
ROWS OF BOTH THE TABLES.

EXAMPLE---

SELECT COLUMN_LIST FROM 1ST_TABLE_NAME FULL OUTER JOIN
2ND_TABLE_NAME ON
1ST_TABLE_NAME.MATCING_COLUMN=2ND_TABLE_NAME.MATCING_COLUMN

3)CROSS JOIN :- IN THIS TYPE OF JOIN, EACH ROWS FROM THE
JOIN WITH EACH ROWS FROM THE SECOND TABLE
WITHOUT ANY CONDTION.
ALSO CALLED AS CARTESIAN PRODUCT.

EXAMPLE---

SELECT COLUMN_LIST FROM 1ST_TABLE_NAME CROSS JOIN
2ND_TABLE_NAME


4) EQUI JOIN :- DISPLAYS ALL THE MATHCING ROWS FROM JOINED
TABLE. AND ALSO DISPLAYS REDUNDANT VALUES.
IN THIS WE USE * SIGN TO JOIN THE TABLE.

EXAMPLE---

SELECT * FROM 1ST_TABLE_NAME JOIN 2ND_TABLE_NAME
ON
1ST_TABLE_NAME.MATCING_COLUMN=2ND_TABLE_NAME.MATCING_COLUMN

5)NATURAL JOIN :- DISPLAYS ALL THE MATHCING ROWS FROM
JOINED TABLE.IT RESTRICT
REDUNDANT VALUES.

6)SELF JOIN :- IN THIS TABLE JOIN WITH ITSELF WITH
DIFFERENT ALIAS NAME.

ASSUME DEPARTMENT IS A TABLE:

SELECT A.DEP_NAME,B.MANAGER_ID(COLUMN LIST) FROM DEPARTMENT
A JOIN
DEPARTMENT B
ON A.MANAGER_ID=B.MANAGER_ID



--------------------------------------------------------------------------------------
Validation in DotNet
1.RequiredFieldValidator
2.RangeValidator
3.regularexpressionvalidator
4.comparevalidator
5.customvalidator
6.validationsummary

--------------------------------------------------------------------------------------
lifecycle of asp.net cycle page

Page_Init -- Page Initialization

LoadViewState -- View State Loading

LoadPostData -- Postback data processing

Page_Load -- Page Loading

RaisePostDataChangedEvent -- PostBack Change Notification

RaisePostBackEvent -- PostBack Event Handling

Page_PreRender -- Page Pre Rendering Phase

SaveViewState -- View State Saving

Page_Render -- Page Rendering

Page_UnLoad -- Page Unloading



--------------------------------------------------------------------------------------
new feature in 3.5

ASP.NET AJAX
In ASP.NET 2.0, ASP.NET AJAX was used as an extension to it. You had to download the extensions and install it. However in ASP.NET 3.5, ASP.NET AJAX is integrated into the .NET Framework, thereby making the process of building cool user interfaces easier and intuitive.

New Controls
ListView
DataPager

LINQ
LINQ defines operators that allow you to code your query in a consistent manner over databases, objects and XML

You can have multiple versions of ASP.NET on the same machine.

New Assemblies
System.Core.dll - Includes the implementation for LINQ to Objects
System.Data.Linq.dll - Includes the implementation for LINQ to SQL
System.Xml.Linq.dll - Includes the implementation for LINQ to XML
System.Data.DataSetExtensions.dll - Includes the implementation for LINQ to DataSet
System.Web.Extensions.dll:

--------------------------------------------------------------------------------------
What is hte difference between the Gridview,Datalist and Repeater
Features of a GridView
•Displays data as a table
•Control over
–Alternate item
–Header
–Footer
–Colors, font, borders, etc.
–Paging
•Updateable
•Item as row

Features of Repeater
•List format
•No default output
•More control
•More complexity
•Item as row
•Not updateable


Features of DataList
•Directional rendering
•Good for columns
•Item as cell
•Alternate item
•Updateable

There are Five Session State Modes :

InProc mode, which stores session state in memory on the Web server. This is the default.

StateServer mode, which stores session state in a separate process called the ASP.NET state service. This ensures that session state is preserved if the Web application is restarted and also makes session state available to multiple Web servers in a Web farm.

SQLServer mode stores session state in a SQL Server database. This ensures that session state is preserved if the Web application is restarted and also makes session state available to multiple Web servers in a Web farm.

Custom mode, which enables you to specify a custom storage provider.

Off mode, which disables session state.


in asp.net following ways to maintain server site and
client site state.
client site:
1. View State
2. Query String
3. Hiddne Field
4. Cookies

Server Site is:
1. Session
2. Application



what is view state,session,cookies,caching, and diff between viewstate and session?

ViewState:

Viewstate is a hidden fields in an ASP.NET page, contains state of those controls on a page whose “EnableViewstate” property is “true”.

You can also explicitly add values in it, on an ASP.NET page like:Viewstate.Add( "Totfeatures", "50" );

Viewstate should be used when you want to save a value between different roundtrips of a single page as viewstate of a page is not accessible by another page.

Because Viewstate renders with the page, it consumes bandwith, so be careful to use it in applications to be run on low bandwith

Session :-

Session variables are usually the most commonly used.

When a user visits a site, it’s sessions starts and when the user become idle or leave the site, the session ends.
Session variables should be used to save and retrive user specefic information required on multiple pages.

Session variables consumes server memory, so if your may have a huge amount visiters, use session very carefully and instead of put large values in it try to put IDs and references

Cookies:-

Cookies are some values saved in browsers for a particular website o publicly accessible

The purpose of cookies is to help websites to identify visitors and retrieve their saved preferences
Cookies are also used to facilitate auto login by persisting user id in a cookie save in user’s browser
Because cookies have been saved at client side, they do not create performance issues but may create security issues as they can be hacked from browser.

Difference Between Viewstate & Session

Unlike Session state ViewState is a property of the web controls.

Both are used to persist certain data.

Values stored in the session are available across different pages in an application.

Where as the vdata contained in a control is persisted between page's post back by using that controls ViewState property.

View state cannot be used if the page donot post back to itself.