Saturday, 25 October 2014

ASP.NET - Server Side

We have studied the page life cycle and how a page contains various controls. The page itself is instantiated as a control object. All web forms are basically instances of the ASP.Net Page class. The page class has the following extremely useful properties that correspond to intrinsic objects like:
  • Session.
  • Application
  • Cache
  • Request
  • Response
  • Server
  • User
  • Trace
We will discuss each of these objects in due time. In this tutorial we will explore the Server object, the Request object and the Response object.
The Server Object:
The Server object in Asp.Net is an instance of the System.Web.HttpServerUtility class. The HttpServerUtility class provides numerous properties and methods to perform various jobs.
Properties and Methods of the Server object:
The methods and properties of the HttpServerUtility class are exposed through the intrinsic Server object provided by ASP.NET.


The following table provides a list of the properties:
Property
Description
MachineName
Name of server's computer
ScriptTimeOut
Gets and sets the request time-out value in seconds.
The following table provides a list of some important methods:
Method
Description
CreateObject(String)
Creates an instance of the COM object identified by its ProgID (Programmatic ID)
CreateObject(Type)
Creates an instance of the COM object identified by its Type
Equals(Object)
Determines whether the specified Object is equal to the current Object
Execute(String)
Executes the handler for the specified virtual path in the context of the current request.
Execute(String, Boolean)
Executes the handler for the specified virtual path in the context of the current request and specifies whether to clear the QueryString and Form collections
GetLastError
Returns the previous exception.
GetType
Gets the Type of the current instance.
HtmlEncode
Changes an ordinary string into a string with legal HTML characters.
HtmlDecode
Converts an Html string into an ordinary string
ToString
Returns a String that represents the current Object
Transfer(String)
For the current request, terminates execution of the current page and starts execution of a new page by using the specified URL path of the page.
UrlDecode
Converts an URL string into an ordinary string
UrlEncodeToken
Works same as UrlEncode, but on a byte array that contains Base64-encoded data
UrlDecodeToken
Works same as UrlDecode, but on a byte array that contains Base64-encoded data
MapPath
Return the physical path that corresponds to a specified virtual file path on the server
Transfer
Transfers execution to another web page in the current application
The Request Object:
The request object is an instance of the System.Web.HttpRequest class. It represents the values and properties of the HTTP request that makes the page loading into the browser.
The information presented by this object is wrapped up by the higher level abstractions (the web control model), however, this object helps in checking some information like the client browser and cookies.
Properties and Methods of the Request Object:
The following table provides some noteworthy properties of the Request object:
Property
Description
AcceptTypes
Gets a string array of client-supported MIME accept types.
ApplicationPath
Gets the ASP.NET application's virtual application root path on the server.
Browser
Gets or sets information about the requesting client's browser capabilities.
ContentEncoding
Gets or sets the character set of the entity-body.
ContentLength
Specifies the length, in bytes, of content sent by the client.
ContentType
Gets or sets the MIME content type of the incoming request.
Cookies
Gets a collection of cookies sent by the client.
FilePath
Gets the virtual path of the current request.
Files
Gets the collection of files uploaded by the client, in multipart MIME format.
Form
Gets a collection of form variables.
Headers
Gets a collection of HTTP headers.
HttpMethod
Gets the HTTP data transfer method (such as GET, POST, or HEAD) used by the client.
InputStream
Gets the contents of the incoming HTTP entity body.
IsSecureConnection
Gets a value indicating whether the HTTP connection uses secure sockets (that is, HTTPS).
QueryString
Gets the collection of HTTP query string variables.
RawUrl
Gets the raw URL of the current request.
RequestType
Gets or sets the HTTP data transfer method (GET or POST) used by the client.
ServerVariables
Gets a collection of Web server variables.
TotalBytes
Gets the number of bytes in the current input stream.
Url
Gets information about the URL of the current request.
UrlReferrer
Gets information about the URL of the client's previous request that linked to the current URL.
UserAgent
Gets the raw user agent string of the client browser.
UserHostAddress
Gets the IP host address of the remote client.
UserHostName
Gets the DNS name of the remote client.
UserLanguages
Gets a sorted string array of client language preferences.
The following table provides a list of some important methods:
Method
Description
BinaryRead
Performs a binary read of a specified number of bytes from the current input stream.
Equals(Object)
Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
GetType
Gets the Type of the current instance.
MapImageCoordinates
Maps an incoming image-field form parameter to appropriate x-coordinate and y-coordinate values.
MapPath(String)
Maps the specified virtual path to a physical path.
SaveAs
Saves an HTTP request to disk.
ToString
Returns a String that represents the current Object
ValidateInput
Causes validation to occur for the collections accessed through the Cookies, Form, and QueryString properties.
The Response Object:
The Response object represents the server's response to the client request. It is an instance of the System.Web.HttpResponse class.
In ASP.Net, the Response object does not play a vital role in sending HTML text to the client, because the server-side controls have nested, object oriented methods for rendering themselves.
However, the HttpResponse object still provides some important functionalities, like the cookie feature and the Redirect() method. The Response.Redirect() method allows transferring the user to another page, inside as well as outside the application. It requires a round trip.
Properties and Methods of the Response Object:
The following table provides some noteworthy properties of the Response object:
Property
Description
Buffer
Gets or sets a value indicating whether to buffer output and send it after the complete response is finished processing.
BufferOutput
Gets or sets a value indicating whether to buffer output and send it after the complete page is finished processing.
Charset
Gets or sets the HTTP character set of the output stream.
ContentEncoding
Gets or sets the HTTP character set of the output stream.
ContentType
Gets or sets the HTTP MIME type of the output stream.
Cookies
Gets the response cookie collection.
Expires
Gets or sets the number of minutes before a page cached on a browser expires.
ExpiresAbsolute
Gets or sets the absolute date and time at which to remove cached information from the cache
HeaderEncoding
Gets or sets an Encoding object that represents the encoding for the current header output stream.
Headers
Gets the collection of response headers.
IsClientConnected
Gets a value indicating whether the client is still connected to the server.
Output
Enables output of text to the outgoing HTTP response stream.
OutputStream
Enables binary output to the outgoing HTTP content body.
RedirectLocation
Gets or sets the value of the Http Location header.
Status
Sets the Status line that is returned to the client.
StatusCode
Gets or sets the HTTP status code of the output returned to the client.
StatusDescription
Gets or sets the HTTP status string of the output returned to the client.
SubStatusCode
Gets or sets a value qualifying the status code of the response.
SuppressContent
Gets or sets a value indicating whether to send HTTP content to the client.
The following table provides a list of some important methods:
Method
Description
AddHeader
Adds an HTTP header to the output stream. AddHeader is provided for compatibility with earlier versions of ASP.
AppendCookie
Infrastructure. Adds an HTTP cookie to the intrinsic cookie collection.
AppendHeader
Adds an HTTP header to the output stream.
AppendToLog
Adds custom log information to the Internet Information Services (IIS) log file.
BinaryWrite
Writes a string of binary characters to the HTTP output stream.
ClearContent
Clears all content output from the buffer stream.
Close
Closes the socket connection to a client.
End
Sends all currently buffered output to the client, stops execution of the page, and raises the EndRequest event.
Equals(Object)
Determines whether the specified Object is equal to the current Object
Flush
Sends all currently buffered output to the client.
GetType
Gets the Type of the current instance.
Pics
Appends a HTTP PICS-Label header to the output stream.
Redirect(String)
Redirects a request to a new URL and specifies the new URL.
Redirect(String, Boolean)
Redirects a client to a new URL. Specifies the new URL and whether execution of the current page should terminate.
SetCookie
Updates an existing cookie in the cookie collection.
ToString
Returns a String that represents the current Object.
TransmitFile(String)
Writes the specified file directly to an HTTP response output stream, without buffering it in memory.
Write(Char)
Writes a character to an HTTP response output stream.
Write(Object)
Writes an Object to an HTTP response stream.
Write(String)
Writes a string to an HTTP response output stream.
WriteFile(String)
Writes the contents of the specified file directly to an HTTP response output stream as a file block.
WriteFile(String, Boolean)
Writes the contents of the specified file directly to an HTTP response output stream as a memory block.
Example:
The following simple example has a text box control where the user can enter name, a button to send the information to the server and a label control to display the URL of the client computer.
The content file:
<%@ Page Language="C#" AutoEventWireup="true"
                       CodeBehind="Default.aspx.cs"
                       Inherits="server_side._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    Enter your name:<br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server"
                    OnClick="Button1_Click" Text="Submit" />
        <br />
        <asp:Label ID="Label1" runat="server"/>

    </div>
    </form>
</body>
</html>
The code behind for Button1_Click:
protected void Button1_Click(object sender, EventArgs e)
{
   if (!String.IsNullOrEmpty(TextBox1.Text))
   {
       // Access the HttpServerUtility methods through
       // the intrinsic Server object.
       Label1.Text = "Welcome, " +
       Server.HtmlEncode(TextBox1.Text) +
       ".<br/> The url is " +
       Server.UrlEncode(Request.Url.ToString());
    }

 }
Run the page to see the following result
ASP.NET Server Side


No comments:

Post a Comment