tag:blogger.com,1999:blog-48324955654490628452024-02-19T22:17:09.902+05:30Dot Net Code TreeThis blog provides frequently used code sinppets along with simple and easy understandable posts used in the development of web/windows based applications using C#.NET,ASP.NET,MVC,JQUERY,SQL SERVER,AngularJS..Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-4832495565449062845.post-59415417991341392892020-12-22T23:58:00.005+05:302020-12-23T10:24:07.557+05:30Download Excel File using AJAX in JavaScript<p><span style="font-family: verdana;">Hello Guys, In this blog post we are going to see how we can download an excel file using a javascript function.</span></p><p><span style="font-family: verdana;">I have added a HTML button on the page, When we click on HTML button, the javaScript function is called and </span><span style="font-family: verdana;">the file name is passed as parameter to the javascript function. </span></p><p><span style="font-family: verdana;">We will use </span><span style="font-family: verdana; white-space: pre;">XMLHttpRequest object to get the file data in binary format.</span></p><p><span style="font-family: verdana;">The onload event handler of the </span><span style="font-family: verdana; white-space: pre;">XMLHttpRequest object</span><span style="font-family: verdana;"> will convert the received Byte Array (Binary Data) into BLOB (Binary Large Object) object and the file is downloaded in the browser.</span></p><p><span style="font-family: verdana;">Create an empty .NET web application and add HTML page provide a name to the HTML file and add a sample excel file to the root of the application.</span></p><p><span style="font-family: verdana;">Below is the complete HTML code.</span></p><p><span style="font-family: verdana;"><br /></span></p>
<pre><code class="html"><p><span style="font-family: verdana;"><!DOCTYPE html></span></p><p><span style="font-family: verdana;"><html></span></p><p><span style="font-family: verdana;"><head></span></p><p><span style="font-family: verdana;"> <meta charset="utf-8" /></span></p><p><span style="font-family: verdana;"> <title></title></span></p><p><span style="font-family: verdana;"></head></span></p><p><span style="font-family: verdana;"><body></span></p><p><span style="font-family: verdana;"> <input type="button" value="Download Excel File" onclick="DownloadFile('SampleExcel.xlsx');" /></span></p><p><span style="font-family: verdana;"> <script type="text/javascript"></span></p><p><span style="font-family: verdana;"> function DownloadFile(fileName) {</span></p><p><span style="font-family: verdana;"> //Set the file URL.</span></p><p><span style="font-family: verdana;"> var urlPath =fileName;</span></p><p><span style="font-family: verdana;"> //Create XMLHTTP Request.</span></p><p><span style="font-family: verdana;"> var request = new XMLHttpRequest();</span></p><p><span style="font-family: verdana;"> request.open("GET", urlPath, true);</span></p><p><span style="font-family: verdana;"> request.responseType = "blob";</span></p><p><span style="font-family: verdana;"> request.onload = function () {</span></p><p><span style="font-family: verdana;"> //Convert the Byte Data to BLOB object.</span></p><p><span style="font-family: verdana;"> var blob = new Blob([request.response], </span></p><p><span style="font-family: verdana;"> { type: "application/octetstream" });</span></p><p><span style="font-family: verdana;"> //Check the type of the browser and download the File.</span></p><p><span style="font-family: verdana;"> var isIE = false || !!document.documentMode;</span></p><p><span style="font-family: verdana;"> if (isIE) {</span></p><p><span style="font-family: verdana;"> window.navigator.msSaveBlob(blob, fileName);</span></p><p><span style="font-family: verdana;"> } </span></p><p><span style="font-family: verdana;"> else </span></p><p><span style="font-family: verdana;"> {</span></p><p><span style="font-family: verdana;"> var url = window.URL || window.webkitURL;</span></p><p><span style="font-family: verdana;"> link = url.createObjectURL(blob);</span></p><p><span style="font-family: verdana;"> var a = document.createElement("a");</span></p><p><span style="font-family: verdana;"> a.setAttribute("download", fileName);</span></p><p><span style="font-family: verdana;"> a.setAttribute("href", link);</span></p><p><span style="font-family: verdana;"> document.body.appendChild(a);</span></p><p><span style="font-family: verdana;"> a.click();</span></p><p><span style="font-family: verdana;"> document.body.removeChild(a);</span></p><p><span style="font-family: verdana;"> }</span></p><p><span style="font-family: verdana;"> };</span></p><p><span style="font-family: verdana;"> request.send();</span></p><p><span style="font-family: verdana;"> };</span></p><p><span style="font-family: verdana;"> </script></span></p><p><span style="font-family: verdana;"></body></span></p><p><span style="font-family: verdana;"></span></p><p><span style="font-family: verdana;"></html></span></p>
</code></pre>
<p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglKtYCvL4gSljKS_XfbCnYLeEyA04EYZubSWM7dg8PRTJW32lhMGEsebCammHbkN_xKYkoXhVwyorY2xbBay_5m6NY8iT9j62-tRe3cV1vacC2q5lZ2A2tVhCgs2ao5Kjt7F7JESxRLg7h/s690/2020-12-22_22h24_19.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="690" data-original-width="672" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglKtYCvL4gSljKS_XfbCnYLeEyA04EYZubSWM7dg8PRTJW32lhMGEsebCammHbkN_xKYkoXhVwyorY2xbBay_5m6NY8iT9j62-tRe3cV1vacC2q5lZ2A2tVhCgs2ao5Kjt7F7JESxRLg7h/w447-h320/2020-12-22_22h24_19.gif" width="447" /></a></div><br />
<p></p>Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-11099516431443262522020-12-19T16:24:00.002+05:302020-12-21T20:19:16.800+05:30How to Capture Image using web camera in Asp.net and C#.NET / VB.NET<span style="font-family: verdana;">Hello Guys, In this blog post we are going to learn how to capture an image using web camera in .NET Web Application using Asp.net and C#.NET / VB.NET </span><div><span style="font-family: verdana;"><br></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzjJ8O3PEoAtMT1GEWEr6Kt4uFv9YJt28abQrDq8bKV7MC0cIfgnsnR7vBVfiR98Lr11WNpv_QYHjYg1tQkGfkgpNe9kAig4HBcIfmFld_Z0f-S06p32tCM5zJUmhqOg1jMMiJHWIVGHov/s1366/2020-12-16_17h40_32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="625" data-original-width="1366" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzjJ8O3PEoAtMT1GEWEr6Kt4uFv9YJt28abQrDq8bKV7MC0cIfgnsnR7vBVfiR98Lr11WNpv_QYHjYg1tQkGfkgpNe9kAig4HBcIfmFld_Z0f-S06p32tCM5zJUmhqOg1jMMiJHWIVGHov/w640-h293/2020-12-16_17h40_32.png" width="640"></a></div><br><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">In order to capture image using Web Camera (webcam) we are going to use Webcam.js Javascript library. </span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">Install the webcam.js file from below location and copy to your javascript folder inside your application. </span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;"><a href="https://github.com/infusion/jQuery-webcam" target="_blank">Download jQuery Webcam Plugin</a> </span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">Copy below code in your ASPX view page</span></div><div><span style="font-family: verdana;"><br></span></div><pre><code class="html"><span style="font-family: verdana;"><div><div> <div class="container"></div><div> <div class="row"></div><div> <div class="col-md-6 col-xl"></div><div> <label>Capture Image</label></div><div> </div></div><div> <div class="col-md-6 col-xl"></div><div> <label>Upload Image</label></div><div> </div></div><div> </div></div><div> <div class="row"></div><div> <div class="col-md-6 col-xl"></div><div> <div id="webcam"></div></div><div> </div></div><div> <div class="col-md-6 col-xl"></div><div> <img id="imgCapture" /></div><div> </div></div><div> </div></div><div> <div class="row"></div><div> <div class="col-md-6 col-xl"></div><div> <input type="button" class="btn-primary btn btn-block" id="btnCapture" value="Capture" /></div><div> </div></div><div> <div class="col-md-6 col-xl"></div><div> <input type="button" class="btn-primary btn btn-block" id="btnUpload" value="Upload" /></div><div> </div></div><div> </div></div><div> </div>
</div></div>
</span></code></pre>
<div><span style="font-family: verdana;">
In the above markup we can see the html element added for displaying live web camera and img control displaying captured image one HTML button for capturing the live web camera image and another button for uploading the captured image to a folder in the application.
<br>
Following are the namespaces required in the code behind file
<br>
</span><pre><span style="font-family: verdana;"> <code class="csharp">
using System.IO;
using System.Web.Services;
</code></span></pre>
<span style="font-family: verdana;"><br>
Add the following lines of code in code behind file
</span><pre><code class="csharp"><span style="font-family: verdana;">
[WebMethod()]
public static bool SaveCapturedImage(string imageData)
{
string fileName = DateTime.Now.ToString("dd/mmm/yyyy hh:mm tt");
if (imageData != string.Empty)
{
//Convert Base64 Encoded string to Byte Array.
byte[] imageBytes = Convert.FromBase64String(imageData.Split(',')[1]);
//Save the Byte Array as Image File.
string filePath = HttpContext.Current.Server.MapPath(string.Format("~/CapturedImages/{0}.jpg", fileName));
File.WriteAllBytes(filePath, imageBytes);
return true;
}
else
return false;
}
</span></code></pre>
<span style="font-family: verdana;"><br>
The above service method will converts the base64 encoded string which is passed to the service method from jquery AJAX call to byte array then saves the byte array as image file in the specified location.</span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">Add the jquery and webcam.js reference to the aspx view page
</span><pre><code class="javascript"><span style="font-family: verdana;">
<script src="js/jquery/jquery.js" type="text/javascript"></script>
<script src="js/WebCam.js" type="text/javascript"></script>
</span></code></pre>
<span style="font-family: verdana;"><br><br><br>
The following code will apply the webcam.js to HTML DIV element inside jquery document ready event handler
</span><pre><code class="javascript"><span style="font-family: verdana;">
Webcam.set({
width: 620,
height: 500,
image_format: 'jpeg',
jpeg_quality: 100
});
Webcam.attach('#webcam');
</span></code></pre><span style="font-family: verdana;"><br><br><br>
1) Width: this property will set the width of DIV element which shows the live web camera </span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">2) Height: this property will set the height of DIV element which shows the live web camera </span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">3) Image_format: this property will set the file format for the captured image </span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">4) Jpeg_quality: this property will set the image quality</span></div><div><span style="font-family: verdana;"><br></span></div><div><span style="font-family: verdana;">When we click on the Capture button then the below code will capture the image from the live web cam using the snap function of the jquery webcam.js then the captured image data which is in Base64 format assigned to the img html element.
<br>
</span><pre><code class="javascript"><span style="font-family: verdana;">
$("#btnCapture").click(function () {
Webcam.snap(function (data_uri) {
$("#imgCapture")[0].src = data_uri;
$("#btnUpload").removeAttr("disabled");
});
});
</span></code></pre>
<span style="font-family: verdana;"><br><br><br>
When we click on the Upload button then the Base64 image data is uploaded to the server using jquery AJAX call
</span><pre><code class="javascript"><span style="font-family: verdana;">
$("#btnUpload").click(function () {
$.ajax({
type: "POST",
url: "CaptureImageCS.aspx/SaveCapturedImage",
data: "{data: '" + $("#imgCapture")[0].src + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
if (r == true) {
alert('Image Uploaded Successfully');
}
else alert('Failed to upload image, Please try again');
}
});
});
</span></code></pre><span style="font-family: verdana;">
Complete code in ASP.NET and C#.NET
</span><pre><code class="html"><span style="font-family: verdana;"><body>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<th align="center"><u>Live Camera</u></th>
<th align="center"><u>Captured Picture</u></th>
</tr>
<tr>
<td><div id="webcam"></div></td>
<td><img id = "imgCapture" /></td>
</tr>
<tr>
<td align = "center">
<input type="button" id="btnCapture" value="Capture" />
</td>
<td align = "center">
<input type="button" id="btnUpload" value="Upload" disabled = "disabled" />
</td>
</tr>
</table>
<script src="js/jquery/jquery.js" type="text/javascript"></script>
<script src="js/WebCam.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
Webcam.set({
width: 620,
height: 500,
image_format: 'jpeg',
jpeg_quality: 90
});
Webcam.attach('#webcam');
$("#btnCapture").click(function () {
Webcam.snap(function (data_uri) {
$("#imgCapture")[0].src = data_uri;
$("#btnUpload").removeAttr("disabled");
});
});
$("#btnUpload").click(function () {
$.ajax({
type: "POST",
url: "CaptureImageCS.aspx/SaveCapturedImage",
data: "{data: '" + $("#imgCapture")[0].src + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
if (r == true) {
alert('Image Uploaded Successfully');
}
else alert('Failed to upload image, Please try again');
}
});
});
});
</script>
</body>
</span></code></pre><span style="font-family: verdana;"><br><br>
Code Behind<br><br>
</span><pre><code class="csharp"><span style="font-family: verdana;">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Web.Services;
public partial class CaptureImageCS : System.Web.UI.Page
{
[WebMethod()]
public static bool SaveCapturedImage(string imageData)
{
string fileName = DateTime.Now.ToString("dd/mmm/yyyy hh:mm tt");
if (imageData != string.Empty)
{
//Convert Base64 Encoded string to Byte Array.
byte[] imageBytes = Convert.FromBase64String(imageData.Split(',')[1]);
//Save the Byte Array as Image File.
string filePath = HttpContext.Current.Server.MapPath(string.Format("~/CapturedImages/{0}.jpg", fileName));
File.WriteAllBytes(filePath, imageBytes);
return true;
}
else
return false;
}
}
</span></code></pre><span style="font-family: verdana;">
Complete code in ASP.NET and VB.NET
</span><pre><code class="html"><span style="font-family: verdana;">
<div><div><%@ Page Language="vb" AutoEventWireup="false" CodeBehind="CaptureImage.aspx.vb" Inherits="CaptureImageUsingWebCam.CaptureImage" %></div><div><br></div><div><!DOCTYPE html></div><div><br></div><div><html xmlns="http://www.w3.org/1999/xhtml"></div><div><head runat="server"></div><div> <title>Capture Image</title></div><div> <link href="Content/bootstrap.css" rel="stylesheet" /></div><div></head></div><div><body></div><div> <form id="form1" runat="server"></div><div> <div class="container"></div><div> <div class="row"></div><div> <div class="col-md-6 col-xl"></div><div> <label>Capture Image</label></div><div> </div></div><div> <div class="col-md-6 col-xl"></div><div> <label>Upload Image</label></div><div> </div></div><div> </div></div><div> <div class="row"></div><div> <div class="col-md-6 col-xl"></div><div> <div id="webcam"></div></div><div> </div></div><div> <div class="col-md-6 col-xl"></div><div> <img id="imgCapture" /></div><div> </div></div><div> </div></div><div> <div class="row"></div><div> <div class="col-md-6 col-xl"></div><div> <input type="button" class="btn-primary btn btn-block" id="btnCapture" value="Capture" /></div><div> </div></div><div> <div class="col-md-6 col-xl"></div><div> <input type="button" class="btn-primary btn btn-block" id="btnUpload" value="Upload" disabled="disabled" /></div><div> </div></div><div> </div></div><div> </div></div><div><br></div><div> </form></div><div></body></div><div><script src="js/jquery/jquery.js"></script></div><div><script src="js/WebCam.js"></script></div><div> <script type="text/javascript"></div><div> $(function () {</div><div> Webcam.set({</div><div> width: 540,</div><div> height: 440,</div><div> image_format: 'jpeg',</div><div> jpeg_quality: 90</div><div> });</div><div> Webcam.attach('#webcam');</div><div> $("#btnCapture").click(function () {</div><div> Webcam.snap(function (data_uri) {</div><div> $("#imgCapture")[0].src = data_uri;</div><div> $("#btnUpload").removeAttr("disabled");</div><div> });</div><div> });</div><div> $("#btnUpload").click(function () {</div><div> $.ajax({</div><div> type: "POST",</div><div> url: "CaptureImage.aspx/SaveCapturedImage",</div><div> data: "{data: '" + $("#imgCapture")[0].src + "'}",</div><div> contentType: "application/json; charset=utf-8",</div><div> dataType: "json",</div><div> success: function (r) { }</div><div> });</div><div> });</div><div> });</div><div> </script></div><div></html></div></div>
</span></code></pre>
<div><span style="font-family: verdana;">
<br><br>
Code behind (VB)
</span><pre><code class="vb"><span style="font-family: verdana;">
Imports System.IO
Imports System.Web.Services
Public Class CaptureImage
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
[WebMethod()]
Public Shared Function SaveCapturedImage(ByVal data As String) As Boolean
Dim fileName As String = DateTime.Now.ToString("dd/mmm/yyyy hh:mm tt")
Dim imageBytes() As Byte = Convert.FromBase64String(data.Split(",")(1))
Dim filePath As String = HttpContext.Current.Server.MapPath(String.Format("~/CapturedImages/{0}.jpg", fileName))
File.WriteAllBytes(filePath, imageBytes)
Return True
End Function
End Class</span>
</code></pre>
</div></div>Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-80926644904481102912020-12-07T17:57:00.004+05:302020-12-10T14:11:39.963+05:30Difference between Asp.net and Asp.net Core<p class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;"> Let’s
understand the .NET Core before exploring the differences between ASP.NET and
ASP.NET Core.<o:p></o:p></span></span></p><p class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;"><br /></span></span></p><p class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"></p><p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"></p><ul style="text-align: left;"><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Open source
framework maintained by Microsoft.</span></span></li></ul><ul style="text-align: left;"><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;"><span style="mso-spacerun: yes;"> </span>It implements .NET standard specifications.</span></span></li></ul><ul style="text-align: left;"><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">.Net
Framework only runs on windows. .NET Core applications can run on windows, macOS and Linux, Whereas .NET
Framework is older runtime which existed in windows for many years. </span></span></li></ul><div><span style="font-family: verdana;"><br /></span></div><p></p><p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Let’s understand
the ASP.NET Core
features<o:p></o:p></span></span></p>
<span style="font-family: verdana;"><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"></span></span><p></p><div>
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"></p><ul style="text-align: left;"><li><span style="font-family: verdana;"><span style="font-size: 16pt;">Can build
and run </span>ASP.NET<span style="font-size: 16pt;"> applications
on operations system like windows,mac,linux..etc.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">ASP.NET core
unifies MVC and Web API.</span></span></li><li><span style="font-size: 16pt;"><span style="font-family: verdana;">Can host
on IIS or self host on own process.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Built in
dependency injection support.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Easy
integration with client side frameworks like angular or react or knockout.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Provides
environment based configuration system.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Light
weight and moduler HTTP request pipe line.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Supports
side by side app versioning.</span></span></li><li><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;">Can be
downloaded as nuget package.<br /></span></span></li></ul><div><span style="font-family: verdana;"><span style="font-size: 21.3333px;"><br /></span></span></div><div><span style="font-family: verdana;"><span style="font-size: 21.3333px;">Difference between ASP.NET and ASP.NET Core</span></span></div><div><span style="font-family: verdana;"><span style="font-size: 21.3333px;"><br /></span></span></div><div><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; width: 564px;">
<tbody><tr>
<td style="border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;"><span style="font-family: verdana;"><b><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">ASP.NET 4.x</span></b><b><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></b></span></p>
</td>
<td style="border-left: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;"><span style="font-family: verdana;"><b><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">ASP.NET Core</span></b><b><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></b></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Build
for Windows</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
<td style="border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Build
for Windows, macOS, or Linux</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Use </span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="color: #171717;">Web Forms</span><span style="color: #171717;">, </span><span style="color: #171717;">SignalR</span><span style="color: #171717;">, </span><span style="color: #171717;">MVC</span><span style="color: #171717;">, </span><span style="color: #171717;">Web API</span><span style="color: #171717;">, </span><span style="color: #171717;">WebHooks</span><span style="color: #171717;">,
or </span><span style="color: #171717;">Web Pages</span><o:p></o:p></span></span></p>
</td>
<td style="border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;"><span style="color: #171717;">Razor Pages</span><span style="color: #171717;"> is
the recommended approach to create a Web UI as of ASP.NET Core 2.x. See
also </span><span style="color: #171717;">MVC</span><span style="color: #171717;">, </span><span style="color: #171717;">Web API</span><span style="color: #171717;">,
and </span><span style="color: #171717;">SignalR</span><span style="color: #171717;">.</span><o:p></o:p></span></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">One
version per machine</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
<td style="border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Multiple
versions per machine</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Develop
with </span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><a href="https://visualstudio.microsoft.com/vs/"><span style="color: #171717;">Visual
Studio</span></a><span style="color: #171717;"> using C#, VB, or F#</span><o:p></o:p></span></span></p>
</td>
<td style="border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Develop
with </span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><a href="https://visualstudio.microsoft.com/vs/"><span style="color: #171717;">Visual
Studio</span></a><span style="color: #171717;">, </span><a href="https://visualstudio.microsoft.com/vs/mac/"><span style="color: #171717;">Visual
Studio for Mac</span></a><span style="color: #171717;">, or </span><a href="https://code.visualstudio.com/"><span style="color: #171717;">Visual
Studio Code</span></a><span style="color: #171717;"> using C# or F#</span><o:p></o:p></span></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Good
performance</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
<td style="border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Higher
performance than ASP.NET 4.x</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 7.5pt 7.5pt 7.5pt 7.5pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-family: verdana;"><span style="color: #171717; font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";">Use
.NET Framework runtime</span><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></span></p>
</td>
<td style="border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .75pt; mso-border-left-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: .75pt .75pt .75pt .75pt; width: 211.5pt;" valign="top" width="282">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="font-size: 16.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman";"><span style="font-family: verdana;"><span style="color: #171717;">Use .NET Core runtime</span><o:p></o:p></span></span></p>
</td>
</tr>
</tbody></table></div>
</div>Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-4643839817292270742020-04-14T00:39:00.003+05:302020-12-08T14:38:23.600+05:30How to convert XML String to DataTable in Sql Server<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: verdana;"><br />
</span><div data-en-clipboard="true" data-pm-slice="1 1 []"><span style="font-family: verdana;">
DECLARE @CategoryLevel varchar(max)</span></div>
<div><span style="font-family: verdana;">
SET @CategoryLevel = '<DocumentElement></span></div>
<div><span style="font-family: verdana;">
<CategoryLevel></span></div>
<div><span style="font-family: verdana;">
<Mapping_ID>0</Mapping_ID></span></div>
<div><span style="font-family: verdana;">
<Level_ID>1</Level_ID></span></div>
<div><span style="font-family: verdana;">
<Level_Description>LEVEL1</Level_Description></span></div>
<div><span style="font-family: verdana;">
<Level_Score>10</Level_Score></span></div>
<div><span style="font-family: verdana;">
<IsChecked>true</IsChecked></span></div>
<div><span style="font-family: verdana;">
</CategoryLevel></span></div>
<div><span style="font-family: verdana;">
<CategoryLevel></span></div>
<div><span style="font-family: verdana;">
<Mapping_ID>0</Mapping_ID></span></div>
<div><span style="font-family: verdana;">
<Level_ID>2</Level_ID></span></div>
<div><span style="font-family: verdana;">
<Level_Description>LEVEL2</Level_Description></span></div>
<div><span style="font-family: verdana;">
<Level_Score>30</Level_Score></span></div>
<div><span style="font-family: verdana;">
<IsChecked>true</IsChecked></span></div>
<div><span style="font-family: verdana;">
</CategoryLevel></span></div>
<div><span style="font-family: verdana;">
</DocumentElement>'</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<div data-en-clipboard="true" data-pm-slice="1 1 []"><span style="font-family: verdana;">
DECLARE @handle INT </span></div>
<div><span style="font-family: verdana;">
DECLARE @PrepareXmlStatus INT </span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div><span style="font-family: verdana;">
EXEC @PrepareXmlStatus= sp_xml_preparedocument @handle OUTPUT, @CategoryLevel </span></div>
<div><span style="font-family: verdana;">
DECLARE @TblLevel as table(Mapping_ID BIGINT,</span></div>
<div><span style="font-family: verdana;">
Level_ID BIGINT,</span></div>
<div><span style="font-family: verdana;">
Level_Description NVARCHAR(256),</span></div>
<div><span style="font-family: verdana;">
Level_Score INT,</span></div>
<div><span style="font-family: verdana;">
IsChecked BIT)</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div><span style="font-family: verdana;">
INSERT INTO @TblLevel</span></div>
<div><span style="font-family: verdana;">
SELECT *</span></div>
<div><span style="font-family: verdana;">
FROM OPENXML(@handle, '/DocumentElement/CategoryLevel', 2) </span></div>
<div><span style="font-family: verdana;">
WITH (</span></div>
<div><span style="font-family: verdana;">
Mapping_ID BIGINT,</span></div>
<div><span style="font-family: verdana;">
Level_ID BIGINT,</span></div>
<div><span style="font-family: verdana;">
Level_Description NVARCHAR(256),</span></div>
<div><span style="font-family: verdana;">
Level_Score INT,</span></div>
<div><span style="font-family: verdana;">
IsChecked BIT</span></div>
<div><span style="font-family: verdana;">
) </span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div><span style="font-family: verdana;">
EXEC sp_xml_removedocument @handle</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div><span style="font-family: verdana;">
SELECT * FROM @TblLevel</span></div>
</div>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-25565487041768847692018-10-02T22:21:00.003+05:302020-12-10T14:12:38.124+05:30How to Install GIT ?<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="border: 0px; color: #383838; line-height: 1.57143em; margin: 0px; padding: 0px;">
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif">In this blog post we are going see the installation steps for git on windows O.S</span></span><br />
<span style="font-size: large;"><br /></span>
<span face=""trebuchet ms" , sans-serif" style="font-size: large;">Following are the steps required to install the GIT on Windows O.S.</span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span></span>
<br />
</span><div style="text-align: justify;">
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif" style="font-family: verdana;"> 1) Open the following link in any browser <a href="https://git-scm.com/download/win">https://git-scm.com/download/win</a>
Download will start automatically , if it does not start click on "click here to download manually" hyperlink. </span></span></div>
<span style="font-family: verdana;"><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"> </span></span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<span face=""trebuchet ms" , sans-serif" style="font-family: verdana; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Rc2UEeGYtBaW8XCOIqRAnrWPOw3Se_czuvEGnXTSNi85169axdfktEroS1QjoHmbJwS4DwwejXv_t5dM5NfVVlS6UJsHrFyfJqtnuPAuUQfyE_Y4mV1EcuMZOu2cTZdPiiy3tKmqTuUU/s1600/2018-10-02_19h45_00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="609" data-original-width="1014" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Rc2UEeGYtBaW8XCOIqRAnrWPOw3Se_czuvEGnXTSNi85169axdfktEroS1QjoHmbJwS4DwwejXv_t5dM5NfVVlS6UJsHrFyfJqtnuPAuUQfyE_Y4mV1EcuMZOu2cTZdPiiy3tKmqTuUU/s640/2018-10-02_19h45_00.png" width="640" /></a></span></div>
<span style="font-family: verdana;"><span style="font-size: large;"><br /></span>
<span face=""trebuchet ms" , sans-serif" style="font-size: large;">2) Once Download is complete click on .exe file.</span><br />
<span face=""trebuchet ms" , sans-serif" style="font-size: large;"><br /></span>
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC8pa6I-BKZ6wXjM7ESb4WPX8AXjQPo0jwFbnbdIYD2Z6Xs7Hyws1Ki4Ei8Ie1Om3NorVmzNZ-BfCgB0MleJDuhunVr7FFPleT830bnkmZbw3Ay3GPUfFBYzmfO2m2W1l1k90AC6maMCX7/s1600/2018-10-02_19h56_18.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="619" data-original-width="1347" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC8pa6I-BKZ6wXjM7ESb4WPX8AXjQPo0jwFbnbdIYD2Z6Xs7Hyws1Ki4Ei8Ie1Om3NorVmzNZ-BfCgB0MleJDuhunVr7FFPleT830bnkmZbw3Ay3GPUfFBYzmfO2m2W1l1k90AC6maMCX7/s640/2018-10-02_19h56_18.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span><span face=""trebuchet ms" , sans-serif"> 3) Click on Run if the security warning window pops up. </span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZm_cgK7Qgf1z4A_4TnZX7JqxIKk-IFF1HJXdvBOFV2BfRfaCzaFOvUEsY3EQdQmbZ21tt8QFWEhQoFAa5hjobiJCp4E-IK22miOxz8x5V4CDWkRD8hLXfEEvcct-H7vcMheUocrRfbVla/s1600/2018-10-02_19h58_53.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="630" data-original-width="1056" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZm_cgK7Qgf1z4A_4TnZX7JqxIKk-IFF1HJXdvBOFV2BfRfaCzaFOvUEsY3EQdQmbZ21tt8QFWEhQoFAa5hjobiJCp4E-IK22miOxz8x5V4CDWkRD8hLXfEEvcct-H7vcMheUocrRfbVla/s640/2018-10-02_19h58_53.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 4) Follow through the default installation process until you get to “Choosing the default editor used by Git”. The default “Use Vim” may be too complex to use, if you are not familiar with Vim. Choose Nano or Notepad++ or visualstudiocode which is easier to use. </span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr0bkd1ev0d-lxyilxny8BY3yfUHndy4aJkQ1C03zDTOJMV29OKWsm9hnvcjnb0okin4s4Qb9He6jvSdOR7VZDxWy4HN346NXvcI-tTYF0HCGlwYulcefOY6CQ82oP80pBPt91zPkgN-xH/s1600/2018-10-02_20h11_15.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="623" data-original-width="928" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr0bkd1ev0d-lxyilxny8BY3yfUHndy4aJkQ1C03zDTOJMV29OKWsm9hnvcjnb0okin4s4Qb9He6jvSdOR7VZDxWy4HN346NXvcI-tTYF0HCGlwYulcefOY6CQ82oP80pBPt91zPkgN-xH/s640/2018-10-02_20h11_15.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 5) Choose “Use Git from the Windows Command Prompt”. </span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4LzhKQjM7UFUvYnLBpYilVgmA2WXokhVu21Zc61ROuBu9Fs1a_S5xEDexGdzzxOJD7h77IsP-k5zo8i3Cd0XWonbXoXs6aDrygZ_HAt3xX52W5S347qehF5qXDngs6UaIoN6tLS4GKr8M/s1600/2018-10-02_20h20_05.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="592" data-original-width="797" height="474" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4LzhKQjM7UFUvYnLBpYilVgmA2WXokhVu21Zc61ROuBu9Fs1a_S5xEDexGdzzxOJD7h77IsP-k5zo8i3Cd0XWonbXoXs6aDrygZ_HAt3xX52W5S347qehF5qXDngs6UaIoN6tLS4GKr8M/s640/2018-10-02_20h20_05.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 6) In "Choosing HTTPS transport backend" window leave the default option selected, then click on next. </span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsP0YsKT0CfkWBbxZcS_Pn-Bn5hZlPoAP836ogBvzXQ7s1B-7ofN7w92Vh5VMa_38AP75LwnI9qQ_K4Bml8JOTKHP_czK3Knb5lDhT85-S-RK499KSRvZdc3WtLpYo9Xxq6dmUPATpozq/s1600/2018-10-02_20h20_49.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="567" data-original-width="720" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsP0YsKT0CfkWBbxZcS_Pn-Bn5hZlPoAP836ogBvzXQ7s1B-7ofN7w92Vh5VMa_38AP75LwnI9qQ_K4Bml8JOTKHP_czK3Knb5lDhT85-S-RK499KSRvZdc3WtLpYo9Xxq6dmUPATpozq/s640/2018-10-02_20h20_49.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 7) In "Configuring the line ending conversions leave the default option selected,then click on next.</span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFYywlfDCVwtj6YxD5JXrbRPn3Y1fgQPU0UEdKasISLxztVzMf_jhuJyZlSJTb_fBJuFSF7C0B1u0x1PbDzVVvQNIomlKz2AuJAabVKg5N0-OTmZGfbV4YfTPvWNe2-j468PZIURJhDMB0/s1600/2018-10-02_20h21_56.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="535" data-original-width="639" height="534" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFYywlfDCVwtj6YxD5JXrbRPn3Y1fgQPU0UEdKasISLxztVzMf_jhuJyZlSJTb_fBJuFSF7C0B1u0x1PbDzVVvQNIomlKz2AuJAabVKg5N0-OTmZGfbV4YfTPvWNe2-j468PZIURJhDMB0/s640/2018-10-02_20h21_56.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 8) Choose “Use Windows’ default console window.</span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Fx1iPB-8M1_dDUJfyrnFNtSjdbvpR4nrpUN70SZ6nZ8uN8hnK0hQqS4sE0E8MHV_dYdNLikDiK_qxPNhPjOn-uhhFK4mS_IdmRgNiWndDO1IPFVxs58pwwff9fsqwOEGZbf-EgSCIIXz/s1600/2018-10-02_20h23_05.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="561" data-original-width="707" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Fx1iPB-8M1_dDUJfyrnFNtSjdbvpR4nrpUN70SZ6nZ8uN8hnK0hQqS4sE0E8MHV_dYdNLikDiK_qxPNhPjOn-uhhFK4mS_IdmRgNiWndDO1IPFVxs58pwwff9fsqwOEGZbf-EgSCIIXz/s640/2018-10-02_20h23_05.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 9) Click on “Install”. </span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWJ719moBO96K9ve7q6BAn0O8tJZ3b7iDzsNOY_8iqd4EzMJRFbqsC4ZQGj1qrp0iZup6cMsyH81I2HXaQjfidJ8omI35XnsR8-Lt-0TVBDrqp7lJyyeqLZ3z4BjLKDjA1Z76A0RiTMaJU/s1600/2018-10-02_20h23_55.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="560" data-original-width="707" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWJ719moBO96K9ve7q6BAn0O8tJZ3b7iDzsNOY_8iqd4EzMJRFbqsC4ZQGj1qrp0iZup6cMsyH81I2HXaQjfidJ8omI35XnsR8-Lt-0TVBDrqp7lJyyeqLZ3z4BjLKDjA1Z76A0RiTMaJU/s640/2018-10-02_20h23_55.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"> 10) Click on “Finish”
</span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG3MFxSs7yTdES5wgFMg4LNUbka14QFy9S7zfVyclVc3dCQOP_Acp-rBSVrrweajc-qF9o9Wah9m1Hv3KT5c7wxOiyRx22XTQ1tWCowWEqfbdlZfIFVMkDw45pZfiHOKyNdUK9IsUzq467/s1600/2018-10-02_20h29_19.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="580" data-original-width="760" height="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG3MFxSs7yTdES5wgFMg4LNUbka14QFy9S7zfVyclVc3dCQOP_Acp-rBSVrrweajc-qF9o9Wah9m1Hv3KT5c7wxOiyRx22XTQ1tWCowWEqfbdlZfIFVMkDw45pZfiHOKyNdUK9IsUzq467/s640/2018-10-02_20h29_19.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif">This is how we can install the GIT on windows. In next post we will see how we can use GIT Command Prompt to execute git commands.</span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif">Please leave a comment below if you have any questions.</span></span><br />
<span style="font-size: large;"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif">I am happy to assist you.thanks..</span></span></span></div>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com1tag:blogger.com,1999:blog-4832495565449062845.post-37671662692851436682018-04-05T00:47:00.004+05:302020-12-08T14:40:40.184+05:30ASP.NET WEB API Programming<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: verdana;"><link href="//alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css" rel="stylesheet" type="text/css"></link>
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shCore.js" type="text/javascript"></script>
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js" type="text/javascript"></script>
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js" type="text/javascript"></script>
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js" type="text/javascript"></script>
<link href="//alexgorbatchev.com/pub/sh/current/styles/shCoreDefault.css" rel="stylesheet" type="text/css"></link>
<script type="text/javascript"> SyntaxHighlighter.all();</script>
<br />
</span><h2 dir="ltr" style="text-align: left;">
<em><span style="font-family: verdana; font-size: x-large;"> ASP.NET WEB API.</span></em></h2>
<div dir="ltr" style="text-align: left;">
</div>
<div dir="ltr">
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">In this blog post we will see a sample example to quick start ASP.NET WEB API Programming.</span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em>
<em><span style="font-size: large;"> <span face=""arial" , "helvetica" , sans-serif"><br /></span> <span face=""arial" , "helvetica" , sans-serif">Before starting we will understand few important questions about the existence of the ASP.NET Web API.</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
<br />
</span><h3 style="text-align: left;">
<span style="background-color: white; color: red; font-family: verdana; font-size: x-large;">
Question 1 : Is ASP.NET WEB API is replacement of WCF ?</span></h3>
<span style="font-family: verdana;"><br />
</span><div>
<div style="text-align: justify;">
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">No,Web API has not replaced existing web service technology called WCF, but it's way different from WCF, where WCF follows SOAP based message formatting and Web API services are non-SOAP based and returns plain XML or JSON string etc.</span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">Web API transport data over network using HTTP Protocal unlike WCF. </span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">WCF uses different protocols for transferring data over HTTP, TCP, MSMQ, Named pipes.etc. </span></em></span></div>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana;"><br /></span></em></div>
<div>
</div>
<div>
<h3 style="text-align: left;">
<span style="background-color: white; color: red; font-family: verdana;"><b><span style="font-size: x-large;">Question 2 : </span></b><b><span style="font-size: x-large;">ASP.NET Web API vs </span></b><b><span style="font-size: x-large;">WCF RESTful Service ?</span></b></span></h3>
<span style="font-family: verdana;"><br />
</span><div>
<span style="font-family: verdana;"><span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif">Both </span></em><em><span face=""arial" , "helvetica" , sans-serif">ASP.NET Web API and</span></em><em><span face=""arial" , "helvetica" , sans-serif"> WCF REST follows the REST principle but having following differences:</span></em></span><br />
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em></span></div>
<div>
</div>
<div>
<h3 style="text-align: left;">
<b><span style="background-color: #073763; font-family: verdana; font-size: large;">ASP.NET Web API</span></b></h3>
<ul>
<li><em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;">Web API supports full features of HTTP compare to WCF REST.</span></em></li>
</ul>
<ul>
<li><em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;">Web API can be hosted on IIS as well as in an application.</span></em></li>
</ul>
<h3 style="text-align: left;">
<span style="background-color: #073763; font-family: verdana; font-size: large;">
WCF REST</span></h3>
<ul>
<li><em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;"><em style="font-size: medium;"><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">WebHttpBinding used for creating </span></em> WCF RESTful Services.</span></em></li>
</ul>
<ul>
<li><em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;">HTTP Methods are mapped to attributes, for example, “WebGet” for GET method and “WebInvoke” for POST.</span></em></li>
</ul>
<h3 style="text-align: left;">
<span style="background-color: white; color: red; font-family: verdana; font-size: x-large;">
Question 3 : Difference between ASP.NET Web API & ASP.NET MVC ?</span></h3>
<span style="font-family: verdana;"><em><strong><span face=""arial" , "helvetica" , sans-serif" style="color: red;"><br /></span></strong></em>
<em style="text-align: justify;"><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">In my previous post we have discussed that purpose of Web API framework is to generate HTTP services that reaches more clients(mobile,desktop,tablet .etc) by generating data in raw format, for example, plain XML or JSON string.So, ASP.NET Web API creates simple HTTP services that generates raw data.</span></em><br />
</span><div>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;"><br /></span></em></div>
<div>
</div>
<div>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;">Whereas ASP.NET MVC framework is used to develop web applications that generates Views as well as data. </span></em></div>
<div>
<h3 style="text-align: left;">
<span style="font-family: verdana; font-size: large;">
Let's begin understanding Web API by simple example.</span></h3>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif"><br /><span style="font-size: large;"><strong><span style="background-color: yellow;">1)</span></strong> Open Visual studio (I have used Visual Studio 2017 Version)<br /><br /><strong><span style="background-color: yellow;">2)</span></strong> Goto File-> New -> Project</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em></span></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<em><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRy_bglYV-5_sw_f5ZLxXa4lm3ZN9J7uk1gm6FMJLfXulorG3P22W9k47K5HzD5u3DgQhTYdQeMr221smhnIJeoC5T6OONR4dW7fmLjfFr4NDOm0iE2cyPAV_caAT8I4XzSt9FP8ALl6An/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="582" data-original-width="955" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRy_bglYV-5_sw_f5ZLxXa4lm3ZN9J7uk1gm6FMJLfXulorG3P22W9k47K5HzD5u3DgQhTYdQeMr221smhnIJeoC5T6OONR4dW7fmLjfFr4NDOm0iE2cyPAV_caAT8I4XzSt9FP8ALl6An/s640/Capture.JPG" width="640" /></span></a></em></div>
<div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif"><br /><br /><span style="font-size: large;"><strong><span style="background-color: yellow;">3)</span> </strong>Select Asp.net web application from the list as shown in the above image.<br /><br /><strong><span style="background-color: yellow;">4)</span></strong> Give a name for your application, then click Ok.<br /><br /><strong><span style="background-color: yellow;">5)</span></strong> In the next window select empty template to create stand alone application.</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em></span></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<em><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFGFlQrqy93Oco3FfyQx2eqB65dwUpJ8eaacBmoX7uNPMg8C8OV0lYvJwkqZo5F-DZ6Cz-KKK8EEIpb5x1DurvP_gFSHcmFQoE4fcHnvuBMHzcyiYub06L6W8P6RBGEmqLBo6AO0N2hhkb/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="520" data-original-width="800" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFGFlQrqy93Oco3FfyQx2eqB65dwUpJ8eaacBmoX7uNPMg8C8OV0lYvJwkqZo5F-DZ6Cz-KKK8EEIpb5x1DurvP_gFSHcmFQoE4fcHnvuBMHzcyiYub06L6W8P6RBGEmqLBo6AO0N2hhkb/s640/Capture.JPG" width="640" /></span></a></em></div>
<div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif"><br /><br /><span style="font-size: large;"><strong><span style="background-color: yellow;">6)</span></strong> Open Solution Explorer, Right click on solution folder and select "Manage Nuget Packages".</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em></span></div>
<div>
</div>
<div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><strong><span style="background-color: yellow;">7)</span></strong> Select Browse Tab in the window and enter search text as "webapi" and select "Microsoft.ASPNET.Webapi" from the list then click on Install/Download button.</span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em></span></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<em><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUpHxpllbwNHGmL69pdBiGrumYYGYg6XOhscLApy3VKVChg4eMcqRuwzBBSSMOe7JXNMUL4SGHRKbw5_CwcAC_H4jZiFK4TQ5rzgaPKgvlXN9cbLqc_5GlsV0TWM1fkSte4o9NMO_rY34z/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="598" data-original-width="1307" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUpHxpllbwNHGmL69pdBiGrumYYGYg6XOhscLApy3VKVChg4eMcqRuwzBBSSMOe7JXNMUL4SGHRKbw5_CwcAC_H4jZiFK4TQ5rzgaPKgvlXN9cbLqc_5GlsV0TWM1fkSte4o9NMO_rY34z/s640/Capture.JPG" width="640" /></span></a></em></div>
<div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif"><br /><span style="font-size: large;"><br /><strong><span style="background-color: yellow;">8)</span></strong> After installing Web API package, goto solution explorer and add two folders for </span></span></em><em><span face=""arial" , "helvetica" , sans-serif"><span style="font-size: large;">configuration </span></span></em><em><span face=""arial" , "helvetica" , sans-serif"><span style="font-size: large;"> and controllers file. Name it as "Controllers" and "Configuration".</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><span style="font-size: large;"><br /><strong><span style="background-color: yellow;">9)</span> </strong>Goto Configuration folder and add a configuration file and give a name to it as "HelloWorldWebAPIConfiguration.cs"</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em></span></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<em><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9UzZS-XzNARiGwdV7hKBA9TNbLed7eQER2zPwxmw_yfrECBbLy42_SVydhg18bUOiK4cwTHbNQMerPJ-RE4rzaWmtlcjdEJt8UT_tbGeVmga2In1QRidE3SEPhCaf6QvLoZr6gFMZt1KM/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="582" data-original-width="955" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9UzZS-XzNARiGwdV7hKBA9TNbLed7eQER2zPwxmw_yfrECBbLy42_SVydhg18bUOiK4cwTHbNQMerPJ-RE4rzaWmtlcjdEJt8UT_tbGeVmga2In1QRidE3SEPhCaf6QvLoZr6gFMZt1KM/s640/Capture.JPG" width="640" /></span></a></em></div>
<div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif"><br /><br /><span style="font-size: large;"><strong><span style="background-color: yellow;">10)</span></strong> add name namespace System.Web.Http in </span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><span style="font-size: large;"><br /></span></span></em>
<em><span face=""arial" , "helvetica" , sans-serif"><span style="font-size: large;">"HelloWorldWebAPIConfiguration.cs" class</span></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif"><span style="font-size: large;"><br /><br /><strong><span style="background-color: yellow;">11)</span></strong> Add the following lines of code in the configuration</span></span></em><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em><br />
<em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br /></span></em></span></div>
</div>
<pre class="brush:csharp;"><span style="font-family: verdana; font-size: large;">using System.Web.Http;
namespace HelloWorldWebAPI.Configuration
{
public class <span face=""arial" , "helvetica" , sans-serif" style="white-space: normal;">HelloWorldWebAPIConfiguration</span>
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(</span></pre>
<pre class="brush:csharp;"><span style="font-family: verdana; font-size: large;"> name: "DefaultApi",</span></pre>
<pre class="brush:csharp;"><span style="font-family: verdana; font-size: large;"> routeTemplate: "api/{controller}/{id}",
defaults: new {id = RouteParameter.Optional</span></pre>
<pre class="brush:csharp;"><span style="font-family: verdana; font-size: large;"> });
}
}
}
</span></pre>
</div>
<span style="font-family: verdana;"><span style="font-size: large;"><br /></span>
<em><span style="font-size: large;"> <span face=""arial" , "helvetica" , sans-serif"><strong><span style="background-color: yellow;">12)</span></strong> Next Add application file called "Global.asax" file ,go to project root folder and right click then select new item from the new item window select "Global Application Class" then click Ok.</span></span></em></span></div>
<div dir="ltr">
<span style="font-family: verdana;"><span style="font-size: large;"><br /></span>
<span style="font-size: large;"><em> <span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<em><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqoeK9NpRjU5x_BltYfP0WKD6lY7ZRCIwJskcPVcOjdLHkVsvdn6J8_klCXS97_24jalpGdmFQSsJAIx_SScskPNarAALoyD78KZ_xuTIUoEej9YUWaX2jiNNfCeBqG0H2aFf73RBiYmZ9/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="582" data-original-width="955" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqoeK9NpRjU5x_BltYfP0WKD6lY7ZRCIwJskcPVcOjdLHkVsvdn6J8_klCXS97_24jalpGdmFQSsJAIx_SScskPNarAALoyD78KZ_xuTIUoEej9YUWaX2jiNNfCeBqG0H2aFf73RBiYmZ9/s640/Capture.JPG" width="640" /></span></a></em></div>
<span style="font-family: verdana;"><em><span style="font-size: large;"><span face=""arial" , "helvetica" , sans-serif"><br /></span> <span face=""arial" , "helvetica" , sans-serif"><br /></span> <span face=""arial" , "helvetica" , sans-serif"><strong><span style="background-color: yellow;">13)</span></strong> Web API routes to be configured when application starts. add below line in application_start() event of global.asax </span></span></em><br />
<em><span style="font-size: large;"> <span face=""arial" , "helvetica" , sans-serif"><br /></span> <span face=""arial" , "helvetica" , sans-serif"> GlobalConfiguration.Configure(</span><span face=""arial" , "helvetica" , sans-serif">HelloWorldWebAPIConfiguration</span><span face=""arial" , "helvetica" , sans-serif">.Register);</span></span></em><br />
<span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
</span><br />
</span><h3 style="text-align: justify;">
</h3>
<span style="font-family: verdana;"><span style="font-size: large;">
</span>
<br />
</span><div>
</div>
<span style="font-family: verdana;"><span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif"><strong><span style="background-color: yellow;">14)</span></strong> Add Api Controller, right click on controller folder then select add --> </span></em></span><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">New Item -> select api controller template, Provide a name for the api controller. </span></em><br />
</span><div>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;"><br /></span></em></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<em><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvAsSXjpwM6lMWctxvLwCk2xUDZI_wVZ60Tm7pgHc8tLUBAMOWdjbkKyXFzbJiDPHQAaR-_gBNdRp-Z-i43gqYG_RqdpWFtZkAJYzFqHuq2OimE6POLWp1daL08C520IuFZSBdwSorvT0/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="582" data-original-width="955" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvAsSXjpwM6lMWctxvLwCk2xUDZI_wVZ60Tm7pgHc8tLUBAMOWdjbkKyXFzbJiDPHQAaR-_gBNdRp-Z-i43gqYG_RqdpWFtZkAJYzFqHuq2OimE6POLWp1daL08C520IuFZSBdwSorvT0/s640/Capture.JPG" width="640" /></span></a></em></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: verdana; font-size: large;"><br /></span></div>
<div>
</div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><strong><span style="background-color: yellow;">15)</span></strong> Web API Controller: Web API Controller is similar to ASP.NET MVC controller. It handles incoming HTTP requests and send response back to the caller.</span></em><br />
<span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
<em><span face=""arial" , "helvetica" , sans-serif"><b style="background-color: yellow;">16)</b> Remove predefined action methods from the class.. then include the below lines of code in the controller class</span></em></span><br />
<span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
<span face=""arial" , "helvetica" , sans-serif"><i>public string Get()</i></span></span><br />
<span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><i> {</i></span><br />
<span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><i> return "Hi World, Welcome to Web API";</i></span><br />
<span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><i> }</i></span><br />
<span style="font-size: large;"><span face=""arial" , "helvetica" , sans-serif"><i><br /></i></span>
<span face=""arial" , "helvetica" , sans-serif"><i><span style="background-color: yellow;"><b>17)</b></span> Build & Run your application and goto address bar in the browser and enter below url </i></span></span><br />
<span style="font-size: large;"><span face=""arial" , "helvetica" , sans-serif"><i><br /></i></span>
<span face=""arial" , "helvetica" , sans-serif"><i>http://localhost:62107/api/HellowWorldWebApi</i></span></span><br />
<span style="font-size: large;"><span face=""arial" , "helvetica" , sans-serif"><i><br /></i></span>
<span face=""arial" , "helvetica" , sans-serif" style="color: white; font-size: xx-small;"><i style="background-color: #674ea7;"><b>note : change port number according your application...</b></i></span></span><br />
<span style="font-size: large;"><span face=""arial" , "helvetica" , sans-serif"><i><br /></i></span>
<span face=""arial" , "helvetica" , sans-serif"><i>then you will see the below result in the XML format</i></span></span><br />
<span style="font-size: large;"><span face=""arial" , "helvetica" , sans-serif"><i><br /></i></span>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3iKfEkKaj1_hsKIlbrKn3VR_K3Qu8OpdNXqFddQby6L1QP7rSWp2xavaWd1G6hxPQmBqUOuker7TIQUHdiJs96yaVqjeb3YWolDfHEG54b3WTkO0DSHBBluvz3UUMNKfGSsNDcxuA4_9B/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="217" data-original-width="869" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3iKfEkKaj1_hsKIlbrKn3VR_K3Qu8OpdNXqFddQby6L1QP7rSWp2xavaWd1G6hxPQmBqUOuker7TIQUHdiJs96yaVqjeb3YWolDfHEG54b3WTkO0DSHBBluvz3UUMNKfGSsNDcxuA4_9B/s640/Capture.JPG" width="640" /></span></a></div>
<span style="font-family: verdana;"><span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em></span>
<span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif">The name of a controller class must end with "Controller" and it must be derived from System.Web.Http.ApiController class.</span></em></span><br />
<br />
</span><div>
</div>
<span style="font-family: verdana;"><em><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;"><br />When we add a controller we can see the controller class loaded with pre defined action method syntax, and Controller class in Web API is inherited from ApiController and contains multiple action methods those names match with HTTP verbs like Get, Post, Put and Delete. see below picture.</span></em><br />
<span style="font-size: large;"><em><span face=""arial" , "helvetica" , sans-serif"><br /></span></em>
</span><br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcazPMg6WK3AOE1_bTIawHOOcRQpMutdBXccYPr-IiYI6WElMszH9_OB9aD6U9FSCcajsVdGSoV9sBxT5-cwsWhrsFMWYjGJlvD74IZtMMzY9wdvKDAw0AB6HG5ZdPkccQL9GxiGdAxxsv/s1600/Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"><img border="0" data-original-height="516" data-original-width="539" height="611" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcazPMg6WK3AOE1_bTIawHOOcRQpMutdBXccYPr-IiYI6WElMszH9_OB9aD6U9FSCcajsVdGSoV9sBxT5-cwsWhrsFMWYjGJlvD74IZtMMzY9wdvKDAw0AB6HG5ZdPkccQL9GxiGdAxxsv/s640/Capture.JPG" width="640" /></span></a></div>
<em><span face=""arial" , "helvetica" , sans-serif" style="font-family: verdana; font-size: large;"><br /></span></em></div>
<div dir="ltr">
<span style="font-family: verdana;"><br />
<span style="font-size: large;"><i><span face=""arial" , "helvetica" , sans-serif"><br />[HttpGet] public IEnumerable<string> Values() { return new string[] { "value1", "value2" }; }</span></i></span><br />
<br />
<br />
</span><div>
<i><b><span style="font-family: verdana; font-size: large;">Interview Questions on WEB API.<br /><br />1) Web API supports which protocol?<br /><br />2) Which .NET framework supports Web API?<br /><br />3) Types of routing supported in Web API 2?</span></b></i></div>
</div>
<span style="font-family: verdana;"><script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script></span>
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-2119383980299085" data-ad-format="fluid" data-ad-layout-key="-fz-11-22-74+vg" data-ad-slot="8649859176" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-76352289322861902912018-04-03T21:52:00.000+05:302018-10-05T10:45:50.832+05:30Introduction to ASP.NET WEB API<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: x-large;">What is ASP.NET WEB API ?</span><br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span></div>
<span style="font-size: large;"><span style="font-family: "arial" , "helvetica" , sans-serif;"></span><br /></span>
<br />
<div style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>WEB API is a framework for building HTTP services that can be accessed across wide range of devices and platforms including browsers, mobile devices,IOT(Internet of things) devices, desktop devices and cross platforms.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i> It is perfect for building restful services.though It can be used to create services which are not restful.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>Web API is very much similar to ASP.Net MVC pattern as it contains MVC like features model, controllers, action results, routing and filters . </i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>Web API as the name suggests, is an API over the web which can be accessed using HTTP protocol.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>ASP .Net Web API is an add on to the ASP.Net Framework. and web api actions(methods) are requested by HTTP verbs(GET,POST,PUT,DELETE).</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span>
<span style="font-size: large;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdgskktmvgdylqYOyKgcm7IEBF95cgc16AxMTzmSGvFE9bmhnAFVt7ILS9WAH2nhgeTuRQXlh951aXjH_leugzlAOOGUy40u9qJiJMIGgrj6rsh2yQZdlY7P19IyhtS7vzce9Rx4AeFmJ/s1600/Blank+Diagram+%25284%2529.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" data-original-height="860" data-original-width="1173" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdgskktmvgdylqYOyKgcm7IEBF95cgc16AxMTzmSGvFE9bmhnAFVt7ILS9WAH2nhgeTuRQXlh951aXjH_leugzlAOOGUy40u9qJiJMIGgrj6rsh2yQZdlY7P19IyhtS7vzce9Rx4AeFmJ/s640/Blank+Diagram+%25284%2529.jpeg" width="640" /></span></a></div>
<i style="font-family: arial, helvetica, sans-serif; text-align: left;"><b><span style="background-color: white; color: red; font-size: large;">What is API ?</span></b></i></div>
<span style="font-size: large;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>API : API stands for Application Program Interface, which has tools and protocols to develop software applications.</i></span><br />
<span style="font-size: large;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span>
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: medium;"><i><b style="background-color: white;">What is Restful ?</b></i></span></span><br />
<span style="font-size: large;"><br /></span>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><span style="color: red;">RE</span>presentational <span style="color: red;">S</span>tate <span style="color: red;">T</span>ransfer (REST) is an architectural style that has a set of configurations and properties based on HTTP(Hyper Text Transfer Protocol)</span></i><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif;"><i><b style="background-color: white;">Rest Constraints :</b></i></span></span><br />
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Client Server</span></i></li>
<li><i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Stateless</span></i></li>
<li><i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Cacheable</span></i></li>
<li><i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Uniform Interface</span></i></li>
</ul>
<span style="font-size: large;"><br /></span>
<br />
<div style="text-align: left;">
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">There are few principles bound with REST architectural style:</span></i><br />
<div>
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">The principles of REST are </span></i></span><br />
<span style="font-size: large;"><br /></span>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"> <b><span style="color: red;">Client-Server</span></b> - Client sends the request and sever sends the response</span></i><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"> <b> <span style="color: red;">Uniform Interface</span></b> - defines Interface between client and server. here each resource is identified by URI (Uniform Resource Identifier)</span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"> <b><span style="color: red;">Stateless</span> </b>- Communication between client and server should be stateless</span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"> <span style="color: red;"> </span><b><span style="color: red;">Cacheable </span> </b>- Used to avoid unnecessary call backs to the server for common data required at the client over and over again</span></i></span><br />
<span style="font-size: large;"><br /></span>
<br />
<div>
</div>
<span style="font-size: large;"><br /></span>
<br />
<div style="text-align: justify;">
<i><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">WEB API is a concept not a technology.web api is cross platform can be used in other technologies like java. for example twitter api allows us query and read tweets from our twitter account and does not dictate any architectural style to create services.</span></i></div>
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<u><br /></u>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><u><b>Following are the terms and frequently used in web api programming</b></u></i></span></span><br />
<span style="font-size: large;"><br /></span>
<br />
<div style="text-align: left;">
</div>
<ul>
<li><b><i><span style="font-size: large;">Resources and URIs</span></i></b></li>
</ul>
<ul>
<li><b><i><span style="font-size: large;">HTTP Methods</span></i></b></li>
</ul>
<ul>
<li><b><i><span style="font-size: large;">HTTP Status Codes</span></i></b></li>
</ul>
<ul>
<li><b><i><span style="font-size: large;">HTTP Content</span></i></b></li>
</ul>
<ul>
<li><b><i><span style="font-size: large;">Internet Media Types</span></i></b></li>
</ul>
<ul>
<li><b><i><span style="font-size: large;">JSON & XML</span></i></b></li>
</ul>
<span style="font-size: large;"><br /></span>
<br />
<div style="text-align: left;">
<span style="font-size: large;"><b><i><span style="color: blue;">HTTP :</span></i></b> <i><span style="font-family: "arial" , "helvetica" , sans-serif;">Hyper Text Transfer Protocol is stateless protocol.</span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i></span>
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;">Which does not maintain any state between client and server communication and treats every request as new one.</span></i></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJSOXAVwzuTGU5zmoIHKGakN4HsuTGck3Ivl-th8D4RqVRY8hs45a2FnMRiV9fN8Er73_h9sHUodvDkXR7GOUKxKO3_nBl-JjXV1i012v5eoUqAPmPrjHtPZPLcmcB6Anjy-C03dnRaUBz/s1600/Blank+Diagram.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" data-original-height="260" data-original-width="680" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJSOXAVwzuTGU5zmoIHKGakN4HsuTGck3Ivl-th8D4RqVRY8hs45a2FnMRiV9fN8Er73_h9sHUodvDkXR7GOUKxKO3_nBl-JjXV1i012v5eoUqAPmPrjHtPZPLcmcB6Anjy-C03dnRaUBz/s640/Blank+Diagram.jpeg" width="640" /></span></a></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
<span style="font-size: large;"><b><span style="color: blue;"><i>URI :</i></span></b> <i><span style="font-family: "arial" , "helvetica" , sans-serif;">Uniform Resource Identifier is a string of characters used to identify the resource on internet using name or location.</span></i></span></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div style="text-align: justify;">
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">URI is used to identify resources, For example, In real world assume there is a person named “X” who lives in “AL SHALI BUILDING,FLOOR 6,DOOR NO 201,XXXX Country”. We can find that person by name or by address or by both.</span></i></div>
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">URI can be categorized into 2 as URL and URN</span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i></span>
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><b>URL: Uniform Resource Locator</b></span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><b><br /></b></span></i></span>
<span style="font-size: large;"><b><br /></b>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><b>URN: Uniform Resource Name</b></i></span></span><br />
<div>
<span style="font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">URI is used to identify the resource on the internet.</span></i><br />
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">It can be done by both URN and URL, but using URN is not sufficient because there can be many resources with the same name. Most commonly used method is URL and it consists of two required components; The Protocol & The Domain.</span></i></div>
<div>
<b><span style="font-size: large;"><br /></span></b></div>
<div>
<i><span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b><span style="color: blue;">Example :</span> </b></span></i></div>
<div>
<i><span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><a href="http://www.dotnetcodetree.blogspot.com/">http://www.dotnetcodetree.blogspot.com/</a></span></i><br />
<div>
<div>
<span style="color: red; font-size: large;"><br /></span></div>
<div>
<span style="color: red; font-size: large;"><b><i><span style="color: blue;"><br /></span></i></b>
<i><span style="color: blue;"><b>HTTP Methods :</b></span></i></span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Web api primarily works based on HTTP Verbs (GET/POST/PUT/DELETE)</span></i><br />
<span style="color: red; font-size: large;"><br /></span>
</div>
</div>
</div>
<div>
<b><span style="font-size: large;"><br /></span></b></div>
<div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b><i><span style="background-color: white; color: red;"><span style="color: blue;">MIME Types :</span> </span></i></b><i>A media type is a two-part identifier for file formats and format contents transmitted on the Internet.</i></span></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">application/javascript</span></i><br />
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">application/json</span></i><br />
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">application/xml</span></i><br />
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">application/zip</span></i><br />
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">application/pdf</span></i><br />
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;">multipart/form-data</span></i><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i>.</i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><br /></i></span></div>
<div>
<span style="font-size: large;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b><span style="background-color: #f3f3f3; color: red;"><i>HTTP Content :</i> </span></b><i>HTTP Request and response contains the header content which specifies the message formats and other things.</i></span></span><br />
<span style="font-size: large;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span>
</span><br />
<table border="1" style="height: 50px; width: 658px;">
<tbody>
<tr>
<td style="width: 320px;"><em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">//Client request</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">GET /webpage1.htm HTTP/1.1</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Host: www.dotnetcodetree.blogspot.com</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Accept-Language: en-us</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Accept-Encoding: gzip, deflate</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Connection:Keep-Alive</span></em></td>
<td style="width: 322px;"><div>
<span style="background-color: white; color: red; font-size: large;"><em><span style="color: #666666; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></em>
<em><span style="color: #666666; font-family: "arial" , "helvetica" , sans-serif;">//Server Response</span></em></span></div>
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">HTTP/1.1 200 OK</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Date: Sun, 01 April 2018 12:28:53 GMT</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Server: Apache/2.2.14 (Win32)</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Last-Modified: Mon, 12 Feb 2017 19:15:56 GMT</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Content-Length: 88</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Content-Type: text/html</span></em><br />
<em><span style="background-color: white; color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;">Connection: Closed</span></em></td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<i><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br /></span></i></div>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b><i><span style="background-color: white; color: red;">Internet Media Types:</span></i></b><i><span style="background-color: white; color: red;"> </span>MIME types are used to identity the type of the file. Internet media type is a backbone of identifying the content types on the internet.</i></span><br />
<span style="color: blue; font-size: large;"><b><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i></b>
<b><span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></b></span><br />
<span style="color: blue;"><b><span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i style="background-color: white;">JSON & XML :</i></span></b></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">XML stands for E<b>X</b>tensible <b>M</b>arkup <b>L</b>anguage.Generally used to transport data over internet for communication between distributed applications.</span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: red;"><b style="background-color: #f3f3f3;">Example : </b></span> </span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"> <span style="color: red;"> </span></span></i><span style="color: red; font-family: "arial" , "helvetica" , sans-serif;"><i><Employees></i></span></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span><Employee></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span><Name>Syed</Name></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span><Role>Developer</Role></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span></Employee></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span><Employee></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span><Name>Ashish Kumar Panda</Name></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span><Role>Developer</Role></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i><span style="white-space: pre;"> </span></Employee></i></span><br />
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><i></Employees></i></span><br />
<span style="font-size: large;"><span style="color: #990000; font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>If we open the xml file in the browser will list data in treeview format.</i></span></span><br />
<span style="font-size: large;"><span style="color: #990000; font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span>
<span class="LIText" style="color: #333333; display: inline;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">employees</span> ..</span></span><br />
<ul style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-bottom: none; border-image: initial; border-left: 1px solid rgb(221, 136, 102); border-right: none; border-top: none; list-style: none; margin: 0px 0px 0px 15px; padding: 10px 0px 0px;">
<li class="employee" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: none; display: block; font-weight: bold; list-style: none; margin-bottom: 10px; padding: 0px 0px 0px 12px; position: relative;"><span class="LIText" style="color: #333333; display: inline; font-size: large;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">employee</span> ..</span><ul style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-bottom: none; border-image: initial; border-left: 1px solid rgb(221, 136, 102); border-right: none; border-top: none; list-style: none; margin: 0px 0px 0px 15px; padding: 10px 0px 0px;">
<li class="name noKids" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: none; display: block; list-style: none; margin-bottom: 10px; padding: 0px 0px 0px 12px; position: relative;"><span class="LIText" style="color: #333333; display: inline; font-size: large;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">name</span><span style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Syed</span></span><ul style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-bottom: none; border-image: initial; border-left: 1px solid rgb(221, 136, 102); border-right: none; border-top: none; list-style: none; margin: 0px 0px 0px 15px; padding: 10px 0px 0px;"></ul>
<span class="plusMin collapsed" style="background: rgb(255 , 238 , 204); border: 1px solid rgb(221 , 136 , 102); color: #dd5555; cursor: pointer; height: 11px; left: -7px; line-height: 9px; position: absolute; text-align: center; top: 2px; width: 11px;"><span style="font-size: large;">-</span></span></li>
<li class="role noKids" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: none; display: block; list-style: none; margin-bottom: 10px; padding: 0px 0px 0px 12px; position: relative;"><span class="LIText" style="color: #333333; display: inline; font-size: large;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">role</span><span style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Developer</span></span><ul style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-bottom: none; border-image: initial; border-left: 1px solid rgb(221, 136, 102); border-right: none; border-top: none; list-style: none; margin: 0px 0px 0px 15px; padding: 10px 0px 0px;"></ul>
<span class="plusMin collapsed" style="background: rgb(255 , 238 , 204); border: 1px solid rgb(221 , 136 , 102); color: #dd5555; cursor: pointer; height: 11px; left: -7px; line-height: 9px; position: absolute; text-align: center; top: 2px; width: 11px;"><span style="font-size: large;">-</span></span></li>
</ul>
<span class="plusMin collapsed" style="background: rgb(255 , 238 , 204); border: 1px solid rgb(221 , 136 , 102); color: #dd5555; cursor: pointer; height: 11px; left: -7px; line-height: 9px; position: absolute; text-align: center; top: 2px; width: 11px;"><span style="font-size: large;">-</span></span></li>
<li class="employee" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: none; display: block; font-weight: bold; list-style: none; margin-bottom: 10px; padding: 0px 0px 0px 12px; position: relative;"><span class="LIText" style="color: #333333; display: inline; font-size: large;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">employee</span> ..</span><ul style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-bottom: none; border-image: initial; border-left: 1px solid rgb(221, 136, 102); border-right: none; border-top: none; list-style: none; margin: 0px 0px 0px 15px; padding: 10px 0px 0px;">
<li class="name noKids" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: none; display: block; list-style: none; margin-bottom: 10px; padding: 0px 0px 0px 12px; position: relative;"><span class="LIText" style="color: #333333; display: inline; font-size: large;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">name</span><span style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Ashish Kumar Panda</span></span><ul style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-bottom: none; border-image: initial; border-left: 1px solid rgb(221, 136, 102); border-right: none; border-top: none; list-style: none; margin: 0px 0px 0px 15px; padding: 10px 0px 0px;"></ul>
<span class="plusMin collapsed" style="background: rgb(255 , 238 , 204); border: 1px solid rgb(221 , 136 , 102); color: #dd5555; cursor: pointer; height: 11px; left: -7px; line-height: 9px; position: absolute; text-align: center; top: 2px; width: 11px;"><span style="font-size: large;">-</span></span></li>
<li class="role noKids" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: none; display: block; list-style: none; margin-bottom: 10px; padding: 0px 0px 0px 12px; position: relative;"><span class="LIText" style="background-color: white; color: #333333; display: inline; font-family: "trebuchet ms"; font-size: large;"><span class="tree_node" style="background: rgb(221 , 136 , 102); border-radius: 3px; color: #f4f4f4; display: inline; margin-right: 8px; padding: 2px 3px;">role</span><span style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Developer</span></span></li>
<div>
<span class="LIText" style="background-color: white; color: #333333; display: inline; font-family: "trebuchet ms";"><span style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-size: large;"><br /></span></span></div>
</ul>
</li>
</ul>
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">JSON stands for Javascript Object Notation used to represent data in key value pairs.this is also used to store and transport data.</span></i></span><br />
<span style="font-size: large;"><i><b><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></b></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: blue;"><b>Example : </b> </span>{"Name":"Syed" ,"Gender":"M"}</span></i></span><br />
<span style="font-size: large;"><i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i>
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">In the next blog post we see how to implement web api using visual studio and .net framework...</span></i></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
</div>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-118820336131515392017-08-17T16:39:00.025+05:302020-12-19T19:38:50.300+05:30C# 7 Features<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: verdana;">
<br />
</span><div style="text-align: justify;">
<span face=""trebuchet ms" , sans-serif" style="font-family: verdana;"><span style="font-size: medium;">In this blog post we will discuss about the Local functions/methods,</span><span class="style3"> </span><span class="style3">Ref returns and locals,</span><span class="style3">Expression bodied members,Throw Exception from Expression</span></span></div>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif"><span style="font-size: 14px;">
<br />
</span>
</span><br />
<span face=""trebuchet ms" , sans-serif"><span class="style1"><b><u>Local Methods/Functions</u></b> </span>
<br class="style1" />
<span face=""trebuchet ms" , sans-serif"><span><strong><span class="style1"><br /></span></strong></span>
</span><br />
</span><br />
</span><div style="text-align: justify;">
<span face=""trebuchet ms" , sans-serif"><span face=""trebuchet ms" , sans-serif" style="font-family: verdana;">Now we can define local functions inside another.Ya, That's right, C# 7 version
provides the ability to call a function which is defined inside another function.</span></span></div>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">
</span>
<br />
</span><pre><code class="csharp"><span style="font-family: verdana;">static void Main(string[] args)
{
int localvar = 50;
//local function defined inside main method
int LocalFunction(int a)
{
return localvar * a;
}
Console.WriteLine(LocalFunction(50));
}
</span></code></pre>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">
<br />
</span><br />
</span><div style="text-align: justify;">
<span face=""trebuchet ms" , sans-serif"><span face=""trebuchet ms" , sans-serif" style="font-family: verdana;">If we observe the code above, local function with the name "LocalFunction" is defined
inside the main method and called by main method itself. This is how we can define
a local function to perform a specific operation and return value to the enclosed
function (main function in the above case).</span></span></div>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">
<span face=""trebuchet ms" , sans-serif"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span class="style1" face=""trebuchet ms" , sans-serif"><strong><u>Ref returns and locals</u></strong></span></span><br />
<span><br /></span>
<span face=""trebuchet ms" , sans-serif">As we already know that C# allows to pass variable by reference by using a ref modifier,</span><span face=""trebuchet ms" , sans-serif"><br />
</span><span face=""trebuchet ms" , sans-serif"><br />now we can return value by reference type too.</span><span face=""trebuchet ms" , sans-serif"></span><br />
</span><br />
</span><pre><code class="csharp"><span style="font-family: verdana;">public ref int Search(int element, int[] elements)
{
for (int i = 0; i < elements .Length; i++)
{
if ( elements [i] == element )
{
return ref elements[i]; // return the storage location, not the value
}
}
throw new IndexOutOfRangeException($"{nameof(element)} not found");
}
int[] array = { 12,15,-1,0,10,25,45,23};
ref int place = ref Search(10, array); // aliases 10's place in the array
place = 9; // replaces 10 with 9 in the array
Console.WriteLine(array[4]); // prints 9
</span></code></pre>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">
<span face=""trebuchet ms" , sans-serif"><span><br /></span>
<span><strong>Following are the points to note while return value by ref
<br />
<br />
</strong>
</span></span><br />
<span face=""trebuchet ms" , sans-serif">We can only return refs that are "safe to return": Ones that were passed to you,
and ones that point into fields in objects.
</span><br />
<span face=""trebuchet ms" , sans-serif">Ref locals are initialized to a certain storage location, and cannot be mutated
to point to another.
</span><br />
<span face=""trebuchet ms" , sans-serif"><span><br /></span>
<span><strong><span class="style1"><u>Expression bodied members</u></span><br class="style1" /><br />
</strong>
</span></span><br />
<span face=""trebuchet ms" , sans-serif">Expression bodied members introduced in c# 6.0 version with methods and properties
and expanded in C# 7.0 on constructors, destructors, getters & setters. The main
purpose is to simplify the syntactical expression
</span><br />
<span face=""trebuchet ms" , sans-serif"><br />
Let’s look at the example to understand how they can be used.
<br />
<br />
member => expression;<br />
<br />
Some of the characteristics of expression bodied members are given below.</span><br />
<span face=""trebuchet ms" , sans-serif"><br />
They provide clean and clear syntax.<br />
Expression bodied member must have a name, return type and returned expression.
<br />
<span><br /></span>
<span>Support for expression body definitions was introduced for methods and property
get accessors in C# 6 and was expanded in C# 7.</span><br />
<span><br /></span>
<span>Expression body definitions can be used with the type members listed in the following
table:
</span></span>
<span face=""trebuchet ms" , sans-serif"><span><br /></span>
</span><br />
<table border="1" cellpadding="3" cellspacing="3" style="border-collapse: collapse; width: 60%;">
<tbody>
<tr style="background-color: #bbbbbb;">
<td style="background-color: #bbbbbb;"><span face=""trebuchet ms" , sans-serif">Member
</span></td>
<td><span face=""trebuchet ms" , sans-serif">Support as of..
</span></td>
</tr>
<tr>
<td><span face=""trebuchet ms" , sans-serif">Method
</span></td>
<td><span face=""trebuchet ms" , sans-serif">C# 6.0
</span></td>
</tr>
<tr>
<td><span face=""trebuchet ms" , sans-serif">Constructor
</span></td>
<td><span face=""trebuchet ms" , sans-serif">C# 7.0
</span></td>
</tr>
<tr>
<td><span face=""trebuchet ms" , sans-serif">Finalizer
</span></td>
<td><span face=""trebuchet ms" , sans-serif">C# 7.0
</span></td>
</tr>
<tr>
<td><span face=""trebuchet ms" , sans-serif">Property Get
</span></td>
<td><span face=""trebuchet ms" , sans-serif">C# 6.0
</span></td>
</tr>
<tr>
<td><span face=""trebuchet ms" , sans-serif">Property Set
</span></td>
<td><span face=""trebuchet ms" , sans-serif">C# 7.0
</span></td>
</tr>
<tr>
<td><span face=""trebuchet ms" , sans-serif">Indexer
</span></td>
<td><span face=""trebuchet ms" , sans-serif">C# 7.0
</span></td>
</tr>
</tbody></table>
<span face=""trebuchet ms" , sans-serif"><span><br /></span>
</span><br />
</span><br />
</span><pre><code class="csharp"><span style="font-family: verdana;">public Customer(string name) => names.TryAdd(id, name); // constructors
~Person() => names.TryRemove(id, out _);
public string Name
{
get => names[id]; // getters
set => names[id] = value; // setters
}
</span></code></pre>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">
</span>
</span><div style="font-size: 14px;">
<span face=""trebuchet ms" , sans-serif"><span class="style1" face=""trebuchet ms" , sans-serif" style="background-color: white; border: 0px; font-family: verdana; font-style: normal; letter-spacing: normal; margin: 0px; padding: 0px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><u><b>Throw Exception from Expression</b></u></span></span></div>
<span face=""trebuchet ms" , sans-serif" style="font-family: verdana;">
<div style="font-size: 16px;">
<span face=""trebuchet ms" , sans-serif"><br /></span></div>
<div style="font-size: 16px;">
<span face=""trebuchet ms" , sans-serif">
We can easily throw a custom exception in the middle of the expression.</span></div>
<div style="font-size: 16px;">
<span face=""trebuchet ms" , sans-serif">
Just call a method which does this.but c# 7 allows throw as an expression
in certain places.</span><br />
<span face=""trebuchet ms" , sans-serif"><br /></span></div>
<div style="font-family: " segoe ui" font-size: 14px;">
<span><span face=""trebuchet ms" , sans-serif">
Look at the below code to understand the concept.</span></span></div>
<pre><code class="csharp">
class Customer
{
public string Name { get; }
public Customer(string name) => Name = name ?? throw new ArgumentNullException(nameof(name));
public string GetFirstName()
{
var parts = Name.Split(" ");
return (parts.Length > 0) ? parts[0] : throw new InvalidOperationException("No name!");
}
public string GetLastName() => throw new NotImplementedException();
}</code></pre>
</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxwZ_21UCTFWR0MaaIaDulRRAjrRE_-BuoEth4ayqxGTt1zGcAqy0qoWC5goZov49SzR3XtNldkIABYADlv6qnzmNqLKGhnIqUl8GWY_SJfI3RuOoAlgwB3Wx1Pdi2YRE9CgVYoyVqBGgI/s1600/Csharpversions.jpg" style="margin-left: 1em; margin-right: 1em;"><span face=""trebuchet ms" , sans-serif" style="font-family: verdana;"><img border="0" data-original-height="556" data-original-width="885" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxwZ_21UCTFWR0MaaIaDulRRAjrRE_-BuoEth4ayqxGTt1zGcAqy0qoWC5goZov49SzR3XtNldkIABYADlv6qnzmNqLKGhnIqUl8GWY_SJfI3RuOoAlgwB3Wx1Pdi2YRE9CgVYoyVqBGgI/s640/Csharpversions.jpg" width="640" /></span></a></div>
<span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">Hope you understand these details.please comment below if you like or have a query.</span><br />
<span face=""trebuchet ms" , sans-serif"><span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif">Thanks</span></span><br />
<span face=""trebuchet ms" , sans-serif">Dotnetcodetree</span></span>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-27953789151178735982017-08-14T23:43:00.037+05:302020-12-19T19:51:20.078+05:30Features in C# 7 - Pattern matching<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: verdana;"><br />
</span><div class="style1"><span style="font-family: verdana;">
Hello Readers, In This blog post I have explained about two new features introduced
with C# 7.0. (Along with other features like Tuples,local functions,ref return and
ref local,throw expression, Deconstruction,Literal improvements,Generalized Async
return types,More expression bodied members).
</span></div>
<div>
<div style="-webkit-font-smoothing: antialiased; border: 0px; box-sizing: inherit; margin: 0px 0px 0.2em; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="-webkit-font-smoothing: antialiased; border: 0px; box-sizing: inherit; margin: 0px 0px 0.2em; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="-webkit-font-smoothing: antialiased; border: 0px; box-sizing: inherit; margin: 0px 0px 0.2em; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="font-size: 16px; font-weight: inherit;">
<ul style="text-align: left;">
<li><span face="" trebuchet ms" , sans-serif" style="font-family: verdana;"> Pattern
Matching</span></li>
<li><span face="" trebuchet ms" , sans-serif" style="font-family: verdana;"> Out variable
( with enhancement) </span></li>
</ul>
</div>
<div style="font-size: 16px; font-weight: bold; text-decoration: underline;"><span style="font-family: verdana;">
Pattern Matching<br />
<br /></span></div>
<div style="font-size: 16px; font-weight: inherit;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Patterns are already
exists in the programming world.But C# has introduced for the first time in it's
latest version 7.0( as of VS 2017).</span>
<br />
<br /></span></div>
<div style="font-weight: inherit;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">C# 7.0 version allows
us to use a pattern in existing "is" statement and with "switch" statement and allows
us to compare whether value has certain type or not. We can match pattern with any
data type including custom type.Pattern matching allows us to confirm what the object
is of type and then hold it into a variable if it was the type we were expecting,
is met.<br />
</span>
</span></div>
<div style="font-weight: inherit;">
<span style="font-family: verdana;"><span style="color: #24292e;"><span face="" trebuchet ms" , sans-serif">Patterns can be<br />
</span></span>
<br />
<span style="color: #24292e;"><span face="" trebuchet ms" , sans-serif"><b>Constant </b>Pattern which test the input value with constant
expression.</span></span>
</span></div>
<span style="font-family: verdana;"><br />
</span><pre><code class="csharp"><span style="font-family: verdana;"> if (o is null) return; // constant pattern "null" </span></code></pre>
<div style="font-weight: inherit;">
<span style="font-family: verdana;"><span style="color: #24292e;"><span face="" trebuchet ms" , sans-serif"><b>var </b>pattern where input value will be assigned to primitive
type based on the value.<br />
</span></span>
</span></div>
<div style="font-weight: inherit;">
<pre><code class="csharp"><span style="font-family: verdana;">if (o is var x) Console.WriteLine($"it's a var
pattern with the type {x?.GetType()?.Name}"); </span></code></pre>
</div>
<div style="font-weight: inherit;">
<span style="font-family: verdana;"><span style="color: #24292e;"><span face="" trebuchet ms" , sans-serif"><b>type </b>pattern where it checks whether input has a certain type.</span></span>
</span></div>
<pre><code class="csharp"><span style="font-family: verdana;">
if (!(o is string s)) return; // type pattern "string s"
Console.WriteLine(new string('*', s));
</span></code></pre>
<div style="font-weight: inherit;">
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Note: Here we
need to understand that "is" is not same as "==" operator </span>
</span></div>
</div>
<div style="font-weight: inherit;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">example<br />
</span>
<br />
</span><pre><span style="font-family: verdana;"><code class="csharp"> string salFromConsole= "20000";
decimal salFromDatabase = 500000.00;
object salVal = ageFromDatabase;
if (salVal is decimal salary) || (salVal is string salText && decimal.TryParse(salText, out salary)))
{
Console.WriteLine($"Your salary is { salary}.");
}
else
{
Console.WriteLine("salary is not known.");
}
</code> </span></pre>
</div>
<div style="font-weight: inherit;">
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<span class="style2"><strong>Pattern with Switch
Statement</strong></span><br />
</span>
</span></div>
</div>
<div style="font-weight: inherit;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">In C# 7.0 Patterns
are added to switch statement to enhance the usage of switch.<br />
</span>
</span></div>
<div style="font-weight: inherit;">
<ul style="border: 0px; box-sizing: inherit; margin: 0px 0px 1.5em 3em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; box-sizing: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0.5em; outline: 0px; padding: 0px; vertical-align: baseline;"><span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">we can switch on to
any type (not just primitive types, as with previous versions)</span></li>
<li style="border: 0px; box-sizing: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0.5em; outline: 0px; padding: 0px; vertical-align: baseline;"><span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">Patterns can also be
used in case clauses</span></li>
<li style="border: 0px; box-sizing: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0.5em; outline: 0px; padding: 0px; vertical-align: baseline;"><span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">Case clauses can have
additional checking on them</span></li>
</ul>
<div>
<pre><span style="font-family: verdana;"><code class="csharp">
switch(shape){
case Circle c:
WriteLine($"circle with radius {c.Radius}");
break;
case Rectangle s when (s.Length == s.Height):
WriteLine($"{s.Length} x {s.Height} square");
break;
case Rectangle r:
WriteLine($"{r.Length} x {r.Height} rectangle");
break;
default:
WriteLine("");
break;
case null:
throw new ArgumentNullException(nameof(shape));
}
</code> </span></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<span style="font-family: verdana;"><u><b><span face="" trebuchet ms" , sans-serif">Out variables<br />
</span></b></u>
</span></div>
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Before C# 7.0 version,
we used out variables where the variable is declared first before
using it.</span>
</span></div>
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
But in C# 7.0 we can declare the out variable at the place where it is passed to
the method as shown in the below example.</span>
</span></div>
<div>
<pre><span style="font-family: verdana;"><code class="csharp">
public void getName(out string fullname)
{
fullname = "syed khaleel";
}
getName(out string fullname); // declared inline
Console.WriteLine($"{fullname}"); // variable fullname is accessible here
</code> </span></pre>
</div>
<div>
<span style="font-family: verdana;"><span style=""><span face="" trebuchet ms" , sans-serif">Here we need to remember that, the variables are in scope of the
nearest closing block.</span></span>
</span></div>
<span style="font-family: verdana;"><br />
</span><div>
<div style=" border: 0px; box-sizing: inherit; margin: 0px 0px 25px; outline: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; word-break: keep-all; word-wrap: break-word;">
<div>
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">A common use of out
variables is the <code style="border: 0px; box-sizing: inherit; font-stretch: normal; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Try...</code> pattern.</span></div>
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">where the return
value indicates success/failure , and out parameters holds the results obtained:<br />
</span>
<br />
</span><pre><code class="csharp"><span style="font-family: verdana;">
if (int.TryParse(s, out var x))
{
WriteLine($"{x}");
}
</span></code></pre>
</div>
</div>
</div>
<div>
<span style="font-family: verdana;"><span style=""><span style="color: #24292e;"><span face=""trebuchet ms" , sans-serif">few points to note while using pattern with switch.</span></span></span>
<br />
</span><ol style="text-align: left;">
<li><span class="style3" face=""trebuchet ms" , sans-serif" style="border: 0px; box-sizing: inherit; font-family: verdana; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
The null clause at the end is not unreachable</span></li>
<li><span class="style3" face=""trebuchet ms" , sans-serif" style=": 0px; box-sizing: inherit; font-family: verdana; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
The order of case clauses now matters</span></li>
<li><span style=" border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><span class="style3" style="font-family: verdana;">The default clause is always evaluated last</span></span></li>
</ol>
<span style="font-family: verdana;"><br />
<span class="style3">Evolution of C# in a picture...</span><br />
<br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxwZ_21UCTFWR0MaaIaDulRRAjrRE_-BuoEth4ayqxGTt1zGcAqy0qoWC5goZov49SzR3XtNldkIABYADlv6qnzmNqLKGhnIqUl8GWY_SJfI3RuOoAlgwB3Wx1Pdi2YRE9CgVYoyVqBGgI/s1600/Csharpversions.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;">
<img border="0" data-original-height="556" data-original-width="885" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxwZ_21UCTFWR0MaaIaDulRRAjrRE_-BuoEth4ayqxGTt1zGcAqy0qoWC5goZov49SzR3XtNldkIABYADlv6qnzmNqLKGhnIqUl8GWY_SJfI3RuOoAlgwB3Wx1Pdi2YRE9CgVYoyVqBGgI/s640/Csharpversions.jpg" width="640" /></span></a></div><span style="font-family: verdana;">
<br />
<br />
<br /></span></div>
<div>
<div style="border: 0px; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px 0px 27px; vertical-align: baseline;">
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Hope you understand
this post.If you enjoy reading this blog post.Please comment below and like my facebook
page for more updates...<br />
<br />
<br />
</span>
</span></div>
<div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Thanks.</span><br />
<span face="" trebuchet ms" , sans-serif">Dotnetcodetree</span><br /></span>
<br /></div>
</div>
</div>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-54409070087448395922017-08-09T23:02:00.019+05:302020-12-19T20:01:10.914+05:30C# 7 Features - Tuples<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: verdana;"><br />
</span><div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">In this blog post
we are going to see the new feature called Tuple type introduced with C# 7.0 Version
by Microsoft.</span></div>
<span style="font-family: verdana;"><br />
</span><div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">“C# 7.0 adds a number
of new features and brings a focus on data </span><span face="" trebuchet ms" , sans-serif">consumption, code simplification and performance.
Perhaps the biggest </span><span face="" trebuchet ms" , sans-serif">features are tuples, which make it easy to have multiple results,
and pattern </span><span face="" trebuchet ms" , sans-serif">matching,
which simplifies code that is conditional on the shape of data. But </span><span face="" trebuchet ms" , sans-serif">there are many other
features big and small. We hope that they all combine to </span><span face="" trebuchet ms" , sans-serif">make your code more efficient and clear, and you
more happy and </span><span face="" trebuchet ms" , sans-serif">productive,”
Mads Torgersen, program manager at Microsoft, wrote in a </span><a href="https://blogs.msdn.microsoft.com/dotnet/2017/03/09/new-features-in-c-7-0/">post</a><span face="" trebuchet ms" , sans-serif">.</span></span></div>
<span style="font-family: verdana;"><br />
</span><div class="style1" style="font-size: 16px;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Tuples are
a series of finite no of elements/values.If you are aware of Tuple Class Which
was introduced with .NET 4.0 and still exists, is not same as the Tuple type.Till
C# 6.0 version we are returning multiple values from a method using custom datatype(user
defined type), out parameters, ref type , arrays and dynamic return type or a tuple
object.<br />
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">C# 7.0 provides tuple
type and tuple literals to return multiple values from a method in a different approach.<br />
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif" style="background-color: yellow;">
Note: Tuples are value types.<br />
<br />
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">Syntax of tuple type
looks as below..<br />
</span>
</span></div><div style="font-size: 16px; text-align: justify;"><span face="" trebuchet ms" , sans-serif" style="font-family: verdana;"><br /></span></div>
<pre><code class="csharp"><span style="font-family: verdana;">(<datatype> [name1],<datatype> [name2]) methodName(parameters){
return (<val1>,<val2>);}
</span></code></pre>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">following line shows
the basic usage of returning values to tuple type.<br />
</span>
</span></div>
<pre><code class="csharp"><span style="font-family: verdana;">
(int a,string b) = (1,"hello");
Console.WriteLine($"{a} {b}");
</span></code></pre>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">
<br />
Below is the another example of tuple type. Here we can see tuple type used with
existing variables.</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<pre><code class="csharp">
int a=0;
int b=0;
(a,b) = (1,"hello");
</code></pre>
</span>
</span></div>
<span style="font-family: verdana;"><br />
<br />
</span><div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">Real example below
for more understanding about the tuple type</span></div>
<span style="font-family: verdana;"><br />
<br />
</span><div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<pre><code class="csharp">
(string ,string ) getfirstlastname(string name)
{
string[] val = name.Split(' ');
return (val[0],val[1]);
}
(string fname,string lname) = getfirstlastname("syed khaleel");
Console.WriteLine($"{fname} {lname}");
</code></pre>
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">
<br />
In order to work with tuple type we need to add System.ValueTuple using Nuget package
manager.</span></div>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">
<br />
<span class="style2">Tuple literals</span></span></div>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">
<br />
if we assign values of the tuple typle to local variable declared with var keyword
is known as tuple literals. Here the names of the items/fields inside are not known
to us.</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<br />
<pre><code class="csharp">
var result = getfirstlastname("syed khaleel");
//using tuple literals we can define the names
var details = (Name:"Syed Khaleel", Age:30);
</code></pre>
</span><br />
<span face="" trebuchet ms" , sans-serif">
<br />
Evolution of C# and it's Versions in a Picture below...</span><br />
<span face="" trebuchet ms" , sans-serif">
<br />
</span>
<br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQfNLI9BzDuPkD8N1R6o9l6KhTGLeoHhpuRqCA4ODRh5DHpXp1uegLe0JLo7id47RwwBiB-BjAkyovnoxep6_VCnhou0x0uo1E6MhuwL6wedH4KtxXrrDXijH5qzPnVtdny39wb_YgMpTK/s1600/Csharpversions.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;">
<img border="0" data-original-height="556" data-original-width="885" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQfNLI9BzDuPkD8N1R6o9l6KhTGLeoHhpuRqCA4ODRh5DHpXp1uegLe0JLo7id47RwwBiB-BjAkyovnoxep6_VCnhou0x0uo1E6MhuwL6wedH4KtxXrrDXijH5qzPnVtdny39wb_YgMpTK/s640/Csharpversions.jpg" width="640" /></span></a></div>
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<br />
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<br />
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span style="font-family: verdana;"><span face="" trebuchet ms" , sans-serif">
<br />
</span>
</span></div>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">Hope you understand
this article..Please comment below if you have and questions..</span></div>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">Thanks for reading..Keep
sharing to your friends..to get more articles like this.</span></div>
<div style="font-size: 16px; text-align: justify;">
<span face="" trebuchet ms" , sans-serif" style="font-family: verdana;">
<br />
<br />
<br />
Thanks,<br />
Dotnetcodetree</span></div>
</div>Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-72789204443584792072017-08-01T22:59:00.000+05:302018-10-04T01:11:57.289+05:30How to add your .net application to git hub repository<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">In this blog post I have listed out the steps to be followed while adding your .net application to git hub repository from visual studio IDE.I have listed out the steps using Visual Studio 2012 version. Steps for later visual studio versions may differ.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<span style="background-color: white; color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"> Open your .net application in Visual Studio 2012 or in any of later versions.</span><br />
<span style="font-size: large;"><span style="background-color: white; color: #242729; font-family: "trebuchet ms" , sans-serif;"><br /></span>
</span><br />
<div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="background-color: white; color: #242729; font-size: large;">1) Go to File Menu then click on Add to Source Control.</span></span></div>
<div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;"><span style="color: #242729;"><br /></span></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX03kgIlIyNtmVaJHgVPYk-mg_iLU7FPplaZBgw0rReAPlgFcXmWITiip8uzYKdF_25t9Kzmk1W1EHtRnvE_In8EFtKbJqhE3oAj2VIMCVc8S0DRKLuyVUQ_ySPV0dq0_l2f8MHRJoFPMO/s1600/Capture1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><img border="0" data-original-height="483" data-original-width="821" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX03kgIlIyNtmVaJHgVPYk-mg_iLU7FPplaZBgw0rReAPlgFcXmWITiip8uzYKdF_25t9Kzmk1W1EHtRnvE_In8EFtKbJqhE3oAj2VIMCVc8S0DRKLuyVUQ_ySPV0dq0_l2f8MHRJoFPMO/s1600/Capture1.PNG" /></span></a></div>
<div>
<span style="color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="background-color: white; color: #242729; font-size: large;">2) Select the Git radio button(Microsoft Git Provider) from the popup.Click Ok. That will create a local repository.</span></span></div>
<div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;"><span style="color: #242729;"><br /></span></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUK6gEM2jdzNC7uUypwiaGMEp9FJ_6K2I2vbJkbQM8eXAV5hhfBRNaWNXqVuXLMd4hu1CE1NykjZMXEFTbiGz1dnYYY3eo9EuApYgwGjiPXRzQFSqb89ufIWbx4ZgdF1dwOY5xD1l7Q3fw/s1600/Capture2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><img border="0" data-original-height="273" data-original-width="629" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUK6gEM2jdzNC7uUypwiaGMEp9FJ_6K2I2vbJkbQM8eXAV5hhfBRNaWNXqVuXLMd4hu1CE1NykjZMXEFTbiGz1dnYYY3eo9EuApYgwGjiPXRzQFSqb89ufIWbx4ZgdF1dwOY5xD1l7Q3fw/s1600/Capture2.png" /></span></a></div>
<div>
<span style="color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><span style="background-color: white; color: #242729;">3) Go to </span><a href="https://github.com/" style="background-color: white;">https://github.com/</a><span style="background-color: white; color: #242729;"> GitHub website. Login or Register an account.I have a free package selected on my account.</span></span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK47dITNB0XIKJDpfQUvh08Ta1_0nFTF4Q0sABTYr5hEt4PDSpwqOwKgj7BXirofi3Reyc1uYNgPeoHEFbLg84VWanjtApPljOfNx4UOQRhBEmqInpIj9V-i6SmXARFiJ91Q38ojmwbWXT/s1600/Capture3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><img border="0" data-original-height="530" data-original-width="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK47dITNB0XIKJDpfQUvh08Ta1_0nFTF4Q0sABTYr5hEt4PDSpwqOwKgj7BXirofi3Reyc1uYNgPeoHEFbLg84VWanjtApPljOfNx4UOQRhBEmqInpIj9V-i6SmXARFiJ91Q38ojmwbWXT/s1600/Capture3.PNG" /></span></a></div>
<div>
<span style="color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<div>
<span style="color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="background-color: white; color: #242729; font-size: large;">4) Let's start Creating a new repository without selecting the option "Initialize this repository with a README".</span></span></div>
<div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;"><span style="color: #242729;"><br /></span></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4EMr_SMqf2v1x9hw6Ti73Zhyphenhyphenh1lQsh3ic_kvMzAh1oxAemrG7M58nknSyUwIyNapB8eU5fB_leutkiwL9OGNcG7vzfy_kcUrEHNSnekD77yf5qSsYyQOWtImcPSg4Le12E03hW5oDw0fH/s1600/Capture4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><img border="0" data-original-height="511" data-original-width="1075" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4EMr_SMqf2v1x9hw6Ti73Zhyphenhyphenh1lQsh3ic_kvMzAh1oxAemrG7M58nknSyUwIyNapB8eU5fB_leutkiwL9OGNcG7vzfy_kcUrEHNSnekD77yf5qSsYyQOWtImcPSg4Le12E03hW5oDw0fH/s640/Capture4.PNG" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZXlXDTneMrFkUPb2wYP0egPOkGk9ID_zXpGTnXYDYhw5-hO6t86UIET4qFG6F91VuxFXDUoQ7tRYgfjkCf9oxDPmqQUPBVWiaPlofCXD7tX_-BXybvHUFRB0P4zudc35tI4pa9wz3othQ/s1600/Capture5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><img border="0" data-original-height="615" data-original-width="752" height="523" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZXlXDTneMrFkUPb2wYP0egPOkGk9ID_zXpGTnXYDYhw5-hO6t86UIET4qFG6F91VuxFXDUoQ7tRYgfjkCf9oxDPmqQUPBVWiaPlofCXD7tX_-BXybvHUFRB0P4zudc35tI4pa9wz3othQ/s640/Capture5.PNG" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<div>
<span style="color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<div>
<span style="color: #242729; font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<div style="background-color: white; border: 0px; clear: both; color: #242729; margin: 0px 0px 1em; padding: 0px;">
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"> Above step will create an empty repository with no Master branch.</span></div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;"></span><br /></span>
<br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Go back to Visual Studio IDE</li>
</span></ul>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Ensure that we have the Microsoft Git Provider selected under Tools then Options then Source Control under Plug-in Selection.<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNqJ1oQoLYC-i7rB0xdMO5tglzUgAmi2OEDu2J7amhm8nUpDnk2gCLqtVKa_vPIUTEvN3mfdYXlVXU_GmuznfPJownSPKtKJho6I8hdB8RQ8ucnXCskI3nsoTZftG0uNqe5vPexn8CktdD/s1600/Capture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="441" data-original-width="758" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNqJ1oQoLYC-i7rB0xdMO5tglzUgAmi2OEDu2J7amhm8nUpDnk2gCLqtVKa_vPIUTEvN3mfdYXlVXU_GmuznfPJownSPKtKJho6I8hdB8RQ8ucnXCskI3nsoTZftG0uNqe5vPexn8CktdD/s640/Capture.PNG" width="640" /></a></li>
</span></ul>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Open Team Explorer window from View Menu Option.</li>
</span></ul>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Select Home Icon Then Click on Unsynced Commits</li>
</span></ul>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRsZMXHVBar17hEwZM6PUH3Eel3rYZdh_oYMNjiT4k83jPvDHFPYlVS1lsY3YEwx4KqmWFr63STwH-vli44GsVL4s-zWuSa0BKHuwVKykMpcW3r5ySjRJyP9jjiElY5WU4fKG-MRFx9Qa9/s1600/Capture7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="232" data-original-width="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRsZMXHVBar17hEwZM6PUH3Eel3rYZdh_oYMNjiT4k83jPvDHFPYlVS1lsY3YEwx4KqmWFr63STwH-vli44GsVL4s-zWuSa0BKHuwVKykMpcW3r5ySjRJyP9jjiElY5WU4fKG-MRFx9Qa9/s1600/Capture7.PNG" /></a></span></div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<div>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Go back to github URL and copy the URL </li>
</span></ul>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ4xAtxgoeRbfhWYDMBi8SbXof8oPye-yWzTXxQbHdLwTNfj_S5RgmfpISizo7ZFMAO4pgflHrdmI9F2eiYK1AhKRzALm84I71TeAJT_sLiGE1hgO9nb1NqOT5t44Rgc_4rmNJxIuaj1HY/s1600/Capture6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="237" data-original-width="1018" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ4xAtxgoeRbfhWYDMBi8SbXof8oPye-yWzTXxQbHdLwTNfj_S5RgmfpISizo7ZFMAO4pgflHrdmI9F2eiYK1AhKRzALm84I71TeAJT_sLiGE1hgO9nb1NqOT5t44Rgc_4rmNJxIuaj1HY/s640/Capture6.PNG" width="640" /></a></span></div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<div>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;">
</span>
</span><br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Go back to Team Explorer and Enter the GitHub URL into the yellow box</li>
</span></ul>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
</span>
<br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Click on Publish</li>
</span></ul>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
</span>
<br />
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Select Home then Click on Changes</li>
</span></ul>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
</span>
<ul style="text-align: left;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<li>Enter Comments in Comment text box.</li>
</span></ul>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
<ul style="text-align: left;">
<li>Select "Commit and Push" from the drop down.</li>
</ul>
</span></div>
<div>
<span style="font-size: large;"><span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
</span><br />
<div style="background-color: white; border: 0px; clear: both; margin: 0px 0px 1em; padding: 0px;">
<span style="color: #242729;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">That's it... Now Your .net application is available on GitHub website.Now you can make changes to your application from IDE and commit changes to git hub repository. </span></span></div>
<div style="border: 0px; clear: both; margin: 0px 0px 1em; padding: 0px;">
<span style="background-color: yellow; font-size: large;"><span style="color: #242729;"><span style="font-family: "trebuchet ms" , sans-serif;">Note: In order to work with GitHub we need to install github desktop package from </span></span><span style="color: #242729; font-family: "trebuchet ms" , sans-serif;"><a href="https://desktop.github.com/">https://desktop.github.com/</a></span></span></div>
</div>
<h4 style="text-align: left;">
<span style="font-size: large;"><i><br /></i><i><br /></i><i>If you find this post useful comment below.</i></span></h4>
<br /></div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com1tag:blogger.com,1999:blog-4832495565449062845.post-13908782539622245382015-12-31T13:40:00.002+05:302020-12-08T14:48:07.782+05:30How to Improve web page performance by using Image Sprite<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
<span style="background-color: white; font-family: verdana;"><br /></span></div>
<h3 class="MsoNormal" style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; font-weight: normal; letter-spacing: 0.25pt; line-height: 115%;">In this post i have shared, how we can improve a web page performance by using image sprite technique.</span></h3>
<div>
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; font-weight: normal; letter-spacing: 0.25pt; line-height: 115%;"><br /></span></div>
<h3 class="MsoNormal" style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; font-weight: normal; letter-spacing: 0.25pt; line-height: 115%;">this technique is independent of platform.</span></h3>
<div>
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; font-weight: normal; letter-spacing: 0.25pt; line-height: 115%;"><br /></span></div>
<h3 class="MsoNormal" style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; font-weight: normal; letter-spacing: 0.25pt; line-height: 115%;">we can use this approach either in java or .net and any other web development technologies.</span></h3>
<div>
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; font-weight: normal; letter-spacing: 0.25pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal" style="text-align: left;">
<div style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; letter-spacing: 0.25pt; line-height: 115%;">By using CSS sprites technique we can reduce the
number of HTTP requests made for image resources, by merging images into a single
file.</span></div>
<div style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large; letter-spacing: 0.25pt; line-height: 115%;"><br /></span></div>
</div>
<div style="text-align: left;">
<span style="background-color: white; font-family: verdana;"><span style="font-size: large;"><br /></span>
</span></div>
<h2 style="text-align: left;">
</h2>
<div style="text-align: left;">
</div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; margin-bottom: 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><b><span face=""trebuchet ms" , "sans-serif"" style="color: black; font-size: x-large;">What Is a
Sprite?</span></b><br />
<b><span face=""trebuchet ms" , "sans-serif"" style="color: black; font-size: large;"><br /></span></b></span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin-bottom: 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;">Sprites are
two-dimensional images which are made </span><br />
<span face=""verdana" , "sans-serif"" style="font-size: large;"><br /></span>
<span face=""verdana" , "sans-serif"" style="font-size: large;">up of combining small images into one
larger image </span><br />
<span face=""verdana" , "sans-serif"" style="font-size: large;"><br /></span>
<span face=""verdana" , "sans-serif"" style="font-size: large;">at defined X and Y coordinates.</span><br />
<span><span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;"><br /></span>
<span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;"><br /></span></span></span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;">To display a single image
from the combined image, </span></span><br />
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;"><br /></span></span>
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;">we can use the CSS </span><u><span style="border: 1pt none; padding: 0in;">background-position</span></u><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;"> property, </span></span><br />
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;"><br /></span></span>
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;">defining the exact position of the image to be </span></span><br />
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;"><br /></span></span>
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;">displayed.</span></span><br />
<span style="font-size: large;"><span face=""verdana" , "sans-serif"" style="color: #3c3c3c;"><br /></span></span></span></div>
<div style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; margin: 0in 0in 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><span face=""trebuchet ms" , "sans-serif"" style="color: black; font-size: x-large;">Advantages of Using CSS
Image Sprite</span><span face=""trebuchet ms" , "sans-serif"" style="color: black; font-size: large;"><br /></span></span></div>
<div style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; margin: 0in 0in 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="font-size: large;"><span face=""trebuchet ms" , "sans-serif"" style="background-color: white; color: black; font-family: verdana;"><br /></span></span></div>
<div style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin: 0in 0in 0.0001pt; text-align: left; vertical-align: baseline;">
<div style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large;">A web page with many images, particularly many </span></div>
<span style="background-color: white; font-family: verdana;"><br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;"><div style="text-align: justify;">
<span face="verdana, sans-serif">small images,
such as icons, buttons, etc. can take a </span></div>
</span><br />
<br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;"><div style="text-align: justify;">
<span face="verdana, sans-serif">long time to load and generates
multiple server </span></div>
</span><br />
<br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;"><div style="text-align: justify;">
<span face="verdana, sans-serif">requests.</span></div>
</span><br />
<br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<span style="background-color: white; font-family: verdana;"><div style="text-align: justify;">
<span face="verdana, sans-serif" style="font-size: large;"><br /></span></div>
</span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; text-align: left; vertical-align: baseline;">
<div style="text-align: justify;">
<span face=""verdana" , "sans-serif"" style="background-color: white; font-family: verdana; font-size: large;">Using the
image sprites instead of separate images</span></div>
<span style="background-color: white; font-family: verdana;"><br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<span style="background-color: white; font-family: verdana;"><span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="font-size: large;"> will significantly reduce the number
of HTTP requests</span></div>
</span><br />
<br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<span style="background-color: white; font-family: verdana;"><span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="font-size: large;"> a browser makes to the server, which can be very </span></div>
</span><br />
<br />
</span><div style="text-align: justify;">
<span face="verdana, sans-serif" style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<div style="text-align: justify;">
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;">effective for
improving the loading time of web </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeFBgcCkFg-6qjomWqsajOFAWuvlcn3phszZYtD32ceaT0syke0Ml_ivuRPgseDZS_rVvVhcLrl-Jsyqq9CdWZV4VL6p2LHZSamytrCWOq91IEn-EyZJVI98APvZn96PIujYClhZR9SxW1/s1600/sprite_navigator.jpg" style="clear: right; display: inline; margin-bottom: 1em; margin-left: 1em;"><span><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeFBgcCkFg-6qjomWqsajOFAWuvlcn3phszZYtD32ceaT0syke0Ml_ivuRPgseDZS_rVvVhcLrl-Jsyqq9CdWZV4VL6p2LHZSamytrCWOq91IEn-EyZJVI98APvZn96PIujYClhZR9SxW1/s640/sprite_navigator.jpg" width="588" /></span></a></span></div>
<span style="background-color: white; font-family: verdana;"><br />
<span><span face=""verdana" , "sans-serif"" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3c3c3c; font-size: large;"><br /></span>
<span face=""verdana" , "sans-serif"" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #3c3c3c; font-size: large;">pages </span><span face=""verdana" , sans-serif" style="color: #3c3c3c; font-size: large;">and overall site performance.</span></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeFBgcCkFg-6qjomWqsajOFAWuvlcn3phszZYtD32ceaT0syke0Ml_ivuRPgseDZS_rVvVhcLrl-Jsyqq9CdWZV4VL6p2LHZSamytrCWOq91IEn-EyZJVI98APvZn96PIujYClhZR9SxW1/s1600/sprite_navigator.jpg" style="background-color: white; margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana; font-size: large;"></span></a></div>
<div class="MsoNormal" style="text-align: left;">
<span style="background-color: white; font-family: verdana; font-size: large;"><span style="line-height: 115%;"><br /></span><span style="line-height: 115%;"></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="background-color: white; font-family: verdana;"><span style="color: red; font-size: large;">Image Courtesy : Web</span><br />
<span style="font-size: large;"><br /></span></span></div>
<h2 style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; margin: 0in 0in 0.0001pt; text-align: left; vertical-align: baseline;">
<span face=""trebuchet ms" , "sans-serif"" style="background-color: white; color: black; font-family: verdana; font-size: x-large;">Display an Icon from Image
Sprite</span></h2>
<div style="text-align: left;">
<span face=""trebuchet ms" , "sans-serif"" style="background-color: white; color: black; font-family: verdana; font-size: large;"><br /></span></div>
<div style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin: 0in 0in 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;">At the end, utilizing CSS, we can display just the </span><br />
<span face=""verdana" , "sans-serif"" style="font-size: large;"><br /></span>
<span><span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;">part </span><span face=""verdana" , sans-serif" style="color: #3c3c3c; font-size: large;">of an
image sprite we need.</span></span><br />
<span face=""verdana" , "sans-serif"" style="font-size: large;"><br /></span></span></div>
<div style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin: 0in 0in 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><span face=""verdana" , "sans-serif"" style="font-size: large;">First of all, we will create the class 'sprite' that will </span><br />
<span><span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;"><br /></span>
<span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;">load
our sprite image. This is to avoid repetition, </span></span><br />
<span><span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;"><br /></span>
<span face=""verdana" , "sans-serif"" style="color: #3c3c3c; font-size: large;">because all items share the same
background-image.</span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<div style="border-color: rgb(108, 226, 108); border-style: none none none solid; border-width: medium medium medium 2.25pt; margin-left: -0.25in; margin-right: 0in; padding: 0in 0in 0in 8pt; text-align: left;">
<div class="MsoNormal" style="border: medium none; line-height: 12.75pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;">
<span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">1.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">
</span></span></span><span style="border: 1pt none; color: #555555; padding: 0in;">.sprite</span><span style="color: #222222;"> {</span></span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; border: medium none; line-height: 12.75pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;">
<span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">2.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">
</span></span></span><span style="color: #222222;"><span style="mso-spacerun: yes;"> </span></span><span style="border: 1pt none; color: #555555; padding: 0in;">background</span><span style="border: 1pt none; color: black; padding: 0in;">:</span><span style="color: #222222;"> </span><span style="border: 1pt none; color: #c41a16; padding: 0in;">url</span><span style="color: #222222;">(</span><span style="border: 1pt none; color: #881280; padding: 0in;">"images/mySprite.png"</span><span style="color: #222222;">) </span><span style="border: 1pt none; color: #c41a16; padding: 0in;">no-repeat</span><span style="color: #222222;">;</span></span></div>
<div class="MsoNormal" style="border: medium none; line-height: 12.75pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;">
<span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">3.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">
</span></span></span><span style="color: #222222;">}</span></span></div>
<div class="MsoNormal" style="border: medium none; line-height: 12.75pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;">
</div>
</div>
<div class="MsoNormal" style="text-align: left;">
<span style="background-color: white; font-family: verdana;"><span><br /></span>
<br />
</span><div style="text-align: justify;">
<span style="background-color: white; font-family: verdana;"> <span face=""verdana" , sans-serif" style="font-size: large; text-align: justify;">we must define a class for each item we want to display. For example, to display Internet Explorer icon form the image sprite the CSS code would be.</span></span></div>
</div>
<div class="MsoNormal" style="margin-left: -22.5pt; text-align: left;">
<span style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<div style="border-color: rgb(108, 226, 108); border-style: none none none solid; border-width: medium medium medium 2.25pt; margin-left: -0.25in; margin-right: 0in; padding: 0in 0in 0in 8pt; text-align: left;">
<pre style="border: medium none; line-height: 12.75pt; margin-left: 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;"><span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">1.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span class="cm-qualifier"><span style="border: 1pt none; color: #555555; padding: 0in;">.ie</span></span><span style="color: #222222;"> {</span></span></pre>
<pre style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; border: medium none; line-height: 12.75pt; margin-left: 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;"><span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">2.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="color: #222222;"><span style="mso-spacerun: yes;"> </span></span><span class="cm-property"><span style="border: 1pt none; color: #555555; padding: 0in;">width</span></span><span class="cm-operator"><span style="border: 1pt none; color: black; padding: 0in;">:</span></span><span style="color: #222222;"> </span><span class="cm-number"><span style="border: 1pt none; color: #ff6600; padding: 0in;">50px</span></span><span style="color: #222222;">; </span><span class="cm-comment"><span style="border: 1pt none; color: #999999; padding: 0in;">/* Icon width */</span></span><span style="color: #222222;"></span></span></pre>
<pre style="border: medium none; line-height: 12.75pt; margin-left: 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;"><span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">3.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="color: #222222;"><span style="mso-spacerun: yes;"> </span></span><span class="cm-property"><span style="border: 1pt none; color: #555555; padding: 0in;">height</span></span><span class="cm-operator"><span style="border: 1pt none; color: black; padding: 0in;">:</span></span><span style="color: #222222;"> </span><span class="cm-number"><span style="border: 1pt none; color: #ff6600; padding: 0in;">50px</span></span><span style="color: #222222;">; </span><span class="cm-comment"><span style="border: 1pt none; color: #999999; padding: 0in;">/* Icon height */</span></span><span style="color: #222222;"></span></span></pre>
<pre style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; border: medium none; line-height: 12.75pt; margin-left: 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;"><span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">4.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="color: #222222;"><span style="mso-spacerun: yes;"> </span></span><span class="cm-property"><span style="border: 1pt none; color: #555555; padding: 0in;">display</span></span><span class="cm-operator"><span style="border: 1pt none; color: black; padding: 0in;">:</span></span><span style="color: #222222;"> </span><span class="cm-number"><span style="border: 1pt none; color: #ff6600; padding: 0in;">inline-block</span></span><span style="color: #222222;">; </span><span class="cm-comment"><span style="border: 1pt none; color: #999999; padding: 0in;">/* Display icon as inline block */</span></span><span style="color: #222222;"></span></span></pre>
<pre style="border: medium none; line-height: 12.75pt; margin-left: 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;"><span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">5.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="color: #222222;"><span style="mso-spacerun: yes;"> </span></span><span class="cm-property"><span style="border: 1pt none; color: #555555; padding: 0in;">background-position</span></span><span class="cm-operator"><span style="border: 1pt none; color: black; padding: 0in;">:</span></span><span style="color: #222222;"> </span><span class="cm-number"><span style="border: 1pt none; color: #ff6600; padding: 0in;">0</span></span><span style="color: #222222;"> </span><span class="cm-number"><span style="border: 1pt none; color: #ff6600; padding: 0in;">-200px</span></span><span style="color: #222222;">; </span><span class="cm-comment"><span style="border: 1pt none; color: #999999; padding: 0in;">/* Icon background position in sprite */</span></span><span style="color: #222222;"></span></span></pre>
<pre style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; border: medium none; line-height: 12.75pt; margin-left: 0.25in; padding: 0in; text-indent: -0.25in; vertical-align: top;"><span style="background-color: white; font-family: verdana; font-size: large;"><span style="color: #222222;"><span style="mso-list: Ignore;">6.<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="color: #222222;">}</span></span></pre>
</div>
<div class="MsoNormal" style="margin-left: -22.5pt; text-align: left;">
<span style="background-color: white; font-family: verdana; font-size: large;"><br /></span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin-bottom: 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><br /></span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin-bottom: 0.0001pt; text-align: left; vertical-align: baseline;">
<span style="background-color: white; font-family: verdana;"><span style="color: red; font-size: x-large;"><span><br /></span>
<span>If you want to create a sprite from online tools </span></span><br />
<span style="color: red;"><span style="font-size: x-large;"><br /></span><span style="font-size: x-large;">refer to <a href="http://spritepad.wearekiss.com/">http://spritepad.wearekiss.com/</a></span></span><br />
<span style="font-size: x-large;"><br /></span></span></div>
<div class="MsoNormal" style="background-attachment: scroll; background-clip: initial; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat; background-size: initial; line-height: 15.75pt; margin-bottom: 0.0001pt; text-align: left; vertical-align: baseline;">
<br /></div>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0tag:blogger.com,1999:blog-4832495565449062845.post-51909912398476092142015-09-09T13:03:00.002+05:302020-12-10T14:13:29.198+05:30Understanding C# Language By Sample Code<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: verdana;"><span><b><span style="font-size: large;">Learn C# with Code Examples</span></b></span><br />
<span><br /></span>
<br />
</span><h3 style="text-align: left;">
<span style="font-family: verdana;">
In this article you are going learn to program in c#.It covers all most all oops concepts and file handing,exception handling, socket programming, threading, mathematical programs like palindrome,perfect number,Armstrong and so on.</span></h3>
<span style="font-family: verdana;"><span>Lets start your journey by creating a console application in Visual Studio and add following lines in program.cs file.Every code block is provided with description of the concept or c# feature.</span><br />
<span><br /></span>
<span>Download the <a href="https://www.dropbox.com/s/1uwpn09fqwg9392/OOPS%20Programming%20in%20C%23.pdf?dl=0" target="_blank">PDF</a></span><br />
<span><br /></span>
<span>using System;</span><br />
<span>using System.Collections;</span><br />
<span>using System.Collections.Generic;</span><br />
<span>using System.IO;</span><br />
<span>using System.Linq;</span><br />
<span>using System.Net;</span><br />
<span>using System.Net.Sockets;</span><br />
<span>using System.Text;</span><br />
<span>using System.Text.RegularExpressions;</span><br />
<span>using System.Threading;</span><br />
<span>using System.Threading.Tasks;</span><br />
<span><br /></span>
<span>namespace CSharpAndMe</span><br />
<span>{</span><br />
<span> </span><br />
<span> class Program</span><br />
<span> {</span><br />
<span> enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };</span><br />
<span><br /></span>
<span> static void Main(string[] args)</span><br />
<span> {</span><br />
<span> //TODO: understanding string type</span><br />
<span> //Defination: Nearly every program uses strings.</span><br />
<span> //In strings, we find characters, words and textual data. The string type allows us to test and manipulate character data.</span><br />
<span> //There are different ways to build and format strings in C#: concatenation, numeric format strings, or string interpolation.</span><br />
<span> //Note : The string keyword is an alias for the System.String class.</span><br />
<span> //from string literal and string concatenation</span><br />
<span> Console.WriteLine("------------String---------------------------");</span><br />
<span> string fname, lname;</span><br />
<span> fname = "Syed";</span><br />
<span> lname = "Khaleel";</span><br />
<span><br /></span>
<span> string fullname = fname + lname;</span><br />
<span> Console.WriteLine("Full Name: {0}", fullname);</span><br />
<span><br /></span>
<span> //by using string constructor</span><br />
<span> char[] letters = { 'H', 'e', 'l', 'l', 'o' };</span><br />
<span> string greetings = new string(letters);</span><br />
<span> Console.WriteLine("Greetings: {0}", greetings);</span><br />
<span><br /></span>
<span> //methods returning string</span><br />
<span> string[] sarray = { "Hello", "From", "Tutorials", "Point" };</span><br />
<span> string message = String.Join(" ", sarray);</span><br />
<span> Console.WriteLine("Message: {0}", message);</span><br />
<span><br /></span>
<span> //formatting method to convert a value</span><br />
<span> DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);</span><br />
<span> string chat = String.Format("Message sent at {0:t} on {0:D}", waiting);</span><br />
<span> Console.WriteLine("Message: {0}", chat);</span><br />
<span><br /></span>
<span> </span><br />
<span> //TODO: Nullable type</span><br />
<span> //Defination: C# provides a special data types, the nullable types,</span><br />
<span> //to which you can assign normal range of values as well as null values.</span><br />
<span> Console.WriteLine("------------Nullable Type----------------------");</span><br />
<span> int? num1 = null;</span><br />
<span> int? num2 = 45;</span><br />
<span> double? num3 = new double?();</span><br />
<span> double? num4 = 3.14157;</span><br />
<span><br /></span>
<span> bool? boolval = new bool?();</span><br />
<span> // display the values</span><br />
<span><br /></span>
<span> Console.WriteLine("Nullables at Show: {0}, {1}, {2}, {3}", num1, num2, num3, num4);</span><br />
<span> Console.WriteLine("A Nullable boolean value: {0}", boolval);</span><br />
<span><br /></span>
<span><br /></span>
<span> //TODO: Implementing enum data type</span><br />
<span> //Defination: An enumeration is a set of named integer constants. An enumerated type is declared using the enum keyword.</span><br />
<span> //C# enumerations are value data type. In other words, enumeration contains its own values and cannot inherit or cannot pass inheritance. </span><br />
<span> Console.WriteLine("--------------------Enum type------------------------------");</span><br />
<span> int WeekdayStart = (int)Days.Mon;</span><br />
<span> int WeekdayEnd = (int)Days.Fri; </span><br />
<span> Console.WriteLine("Monday: {0}", WeekdayStart);</span><br />
<span> Console.WriteLine("Friday: {0}", WeekdayEnd);</span><br />
<span><br /></span>
<span> //TODO: Regular Expression</span><br />
<span> //Defination: A regular expression is a pattern that could be matched against an input text.</span><br />
<span> //The .Net framework provides a regular expression engine that allows such matching.</span><br />
<span> //A pattern consists of one or more character literals, operators, or constructs.</span><br />
<span> Console.WriteLine("---------------------Regulare Expression----------------------------");</span><br />
<span> string str = "A Thousand Splendid Suns";</span><br />
<span> Console.WriteLine("Matching words that start with 'S': ");</span><br />
<span> showMatch(str, @"\bS\S*");</span><br />
<span><br /></span>
<span> str = "make maze and manage to measure it";</span><br />
<span> Console.WriteLine("Matching words start with 'm' and ends with 'e':");</span><br />
<span> showMatch(str, @"\bm\S*e\b");</span><br />
<span><br /></span>
<span><br /></span>
<span> //TODO: extension method</span><br />
<span> //Defination: extension method is a static method of a static class that can be invoked using the instance method syntax.</span><br />
<span> //Extension methods are used to add new behaviors to an existing type without altering.</span><br />
<span> //In extension method "this" keyword is used with the first parameter and the type of the first</span><br />
<span> //parameter will be the type that is extended by extension method.</span><br />
<span> Console.WriteLine("---------------------------------Extension Method-----------------------------------");</span><br />
<span> string _s = "Dot Net Extension Method Example";</span><br />
<span> //calling extension method</span><br />
<span> int _i = _s.WordCount();</span><br />
<span> Console.WriteLine(_i);</span><br />
<span> </span><br />
<span> </span><br />
<span> //TODO: Implementing Simple If condition</span><br />
<span> //Defination: If statement consists of Boolean expression followed by single or multiple statements to execute.</span><br />
<span> //An if statement allows you to take different paths of logic, depending on a given condition.</span><br />
<span> //When the condition evaluates to a boolean true, a block of code for that true condition will execute.</span><br />
<span> //You have the option of a single if statement, multiple else if statements, and an optional else statement.</span><br />
<span> Console.WriteLine("---------------------------------- If Condition--------------------------------------");</span><br />
<span> int age = 20;</span><br />
<span> string Name = "Syed Khaleel";</span><br />
<span> if (age < 18)</span><br />
<span> {</span><br />
<span> Console.WriteLine("{0} is Minor", Name);</span><br />
<span> }</span><br />
<span> else</span><br />
<span> {</span><br />
<span> Console.WriteLine("{0} is Major", Name);</span><br />
<span> }</span><br />
<span> </span><br />
<span> //TODO :Implementing for loop.</span><br />
<span> //Defination: A for loop is a repetition control structure that allows you to efficiently write a loop</span><br />
<span> //that needs to execute a specific number of times. </span><br />
<span> Console.WriteLine("-------------For Loop----------------");</span><br />
<span> for (int i = 1; i <= 10; i++)</span><br />
<span> {</span><br />
<span> Console.Write(i + " ");</span><br />
<span> }</span><br />
<span> Console.WriteLine();</span><br />
<span> //TODO :while loop</span><br />
<span> //Defination: It repeats a statement or a group of statements while a given condition is true.</span><br />
<span> //It tests the condition before executing the loop body.</span><br />
<span> Console.WriteLine("-------------While Loop-------------");</span><br />
<span> int j = 1;</span><br />
<span> while (j <= 10)</span><br />
<span> {</span><br />
<span> Console.Write(j + " ");</span><br />
<span> j++;</span><br />
<span> }</span><br />
<span> Console.WriteLine();</span><br />
<span><br /></span>
<span> //TODO : do while</span><br />
<span> //Defination: It is similar to a while statement, except that it tests the condition at the end of the loop body</span><br />
<span> Console.WriteLine("----------------Do While----------------");</span><br />
<span> int x = 1;</span><br />
<span> do</span><br />
<span> {</span><br />
<span> Console.Write(x + " ");</span><br />
<span> x++;</span><br />
<span> } while (x <= 10);</span><br />
<span><br /></span>
<span> Console.WriteLine();</span><br />
<span><br /></span>
<span> //TODO : foreach</span><br />
<span> //loops through the collection of items or objects</span><br />
<span> Console.WriteLine("--------------Foreach----------------");</span><br />
<span> string[] arr = { "sd", "md", "kd" };</span><br />
<span> foreach (var item in arr)</span><br />
<span> {</span><br />
<span> Console.Write(item + " ");</span><br />
<span> }</span><br />
<span> Console.WriteLine();</span><br />
<span><br /></span>
<span> //TODO: Implementing Loop Control Statement with break.</span><br />
<span> //Defination: Terminates the loop or switch statement and transfers execution</span><br />
<span> //to the statement immediately following the loop or switch.</span><br />
<span><br /></span>
<span> /* local variable definition */</span><br />
<span> int a = 1;</span><br />
<span><br /></span>
<span> /* while loop execution */</span><br />
<span> while (a < 15)</span><br />
<span> {</span><br />
<span> Console.WriteLine("value of a: {0}", a);</span><br />
<span> a++;</span><br />
<span> if (a > 10)</span><br />
<span> {</span><br />
<span> /* terminate the loop using break statement */</span><br />
<span> break;</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Implementing Loop Contorl Statemnet with Continue.</span><br />
<span> //Defination: Causes the loop to skip the remainder of its body and immediately</span><br />
<span> //retest its condition prior to reiterating.</span><br />
<span> //Note*:The continue statement in C# works somewhat like the break statement.</span><br />
<span> //Instead of forcing termination, however, continue forces the next iteration of the loop to take place, skipping any code in between.</span><br />
<span> Console.WriteLine("--------------------Loop Control Statement---------------------------------");</span><br />
<span> /* local variable definition */</span><br />
<span> int value = 10;</span><br />
<span> /* do loop execution */</span><br />
<span> do</span><br />
<span> {</span><br />
<span> if (value == 15)</span><br />
<span> {</span><br />
<span> /* skip the iteration */</span><br />
<span> value = value + 1;</span><br />
<span> continue;</span><br />
<span> }</span><br />
<span> Console.WriteLine("value of a: {0}", value);</span><br />
<span> value++;</span><br />
<span> }</span><br />
<span> while (value < 20);</span><br />
<span><br /></span>
<span> //TODO : switch</span><br />
<span> //Defination: A switch statement allows a variable to be tested for equality against a list of values.</span><br />
<span> //Each value is called a case, and the variable being switched on is checked for each switch case.</span><br />
<span> var color = "Red";</span><br />
<span> Console.WriteLine("----------------Swith Case----------------");</span><br />
<span> switch (color)</span><br />
<span> {</span><br />
<span> case "Red":</span><br />
<span> Console.WriteLine("Color in Color is " + color);</span><br />
<span> break;</span><br />
<span> case "Pink":</span><br />
<span> Console.WriteLine("Color in Color is " + color);</span><br />
<span> break;</span><br />
<span> case "Yellow":</span><br />
<span> Console.WriteLine("Color in Color is " + color);</span><br />
<span> break;</span><br />
<span> default:</span><br />
<span> break;</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: single dimensional array</span><br />
<span> //Defination: An array stores a fixed-size sequential collection of elements of the same type.</span><br />
<span> //An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type</span><br />
<span> //stored at contiguous memory locations.</span><br />
<span><br /></span>
<span> int n = int.Parse("855");</span><br />
<span> int d = 0;</span><br />
<span> string res = "";</span><br />
<span> string[] ones = new string[] { "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };</span><br />
<span> string[] tens = new string[] { "Ten", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninty" };</span><br />
<span> Console.WriteLine("------------Singe Dimensional Array-----------------");</span><br />
<span><br /></span>
<span> if (n > 99 && n < 1000)</span><br />
<span> {</span><br />
<span> d = n / 100;</span><br />
<span> res = ones[d - 1] + "Hundred";</span><br />
<span> n = n % 100;</span><br />
<span> }</span><br />
<span> if (n > 19 && n < 100)</span><br />
<span> {</span><br />
<span> d = n / 10;</span><br />
<span> res = res + tens[d - 1];</span><br />
<span> n = n % 10;</span><br />
<span> }</span><br />
<span> if (n > 0 && n < 10)</span><br />
<span> {</span><br />
<span> res = res + ones[n - 1];</span><br />
<span> }</span><br />
<span> Console.WriteLine(res);</span><br />
<span> Console.WriteLine("--------------Multi Dimensional Array---------------------");</span><br />
<span><br /></span>
<span> //TODO : multi dimensional array</span><br />
<span> //Defination: stores data in rows and columns</span><br />
<span> string s = "";</span><br />
<span> int[,] xx = new int[,]</span><br />
<span> { </span><br />
<span> {7,8,9,0}, {1,2,3,4}, {9,9,9,9}</span><br />
<span> };</span><br />
<span> for (int r = 0; r < xx.GetLength(0); r++)</span><br />
<span> {</span><br />
<span> for (int c = 0; c < xx.GetLength(1); c++)</span><br />
<span> {</span><br />
<span> s = s + xx[r, c] + " ";</span><br />
<span> }</span><br />
<span> Console.WriteLine(s + " ");</span><br />
<span> s = "";</span><br />
<span> }</span><br />
<span> Console.WriteLine("--------------------Jagged Array--------------------");</span><br />
<span> //TODO : jagged array</span><br />
<span> //Defination: Its an array of array of differenct sizes</span><br />
<span> int[][] xxx = new int[3][];</span><br />
<span> xxx[0] = new int[] { 1, 2, 3, };</span><br />
<span> xxx[1] = new int[] { 10, 20, 30 };</span><br />
<span> xxx[2] = new int[] { 1, 2, 3, };</span><br />
<span> string sss = "";</span><br />
<span> for (int r = 0; r < xxx.GetLength(0); r++)</span><br />
<span> {</span><br />
<span> for (int c = 0; c < xxx.GetLength(0); c++)</span><br />
<span> {</span><br />
<span> sss = sss + xxx[r][c] + " ";</span><br />
<span> }</span><br />
<span> sss = sss + "\n";</span><br />
<span> }</span><br />
<span> Console.Write(sss);</span><br />
<span><br /></span>
<span><br /></span>
<span> //TODO: Collections using ArrayList</span><br />
<span> //Defination: It represents an ordered collection of an object that can be indexed individually.</span><br />
<span> //It is basically an alternative to an array. However, unlike array you can add and remove items</span><br />
<span> //from a list at a specified position using an index and the array resizes itself automatically.</span><br />
<span> //It also allows dynamic memory allocation, adding, searching and sorting items in the list.</span><br />
<span> ArrayList al = new ArrayList();</span><br />
<span> Console.WriteLine("Adding some numbers:");</span><br />
<span> al.Add(45);</span><br />
<span> al.Add(78);</span><br />
<span> al.Add(33);</span><br />
<span> al.Add(56);</span><br />
<span> al.Add(12);</span><br />
<span> al.Add(23);</span><br />
<span> al.Add(9);</span><br />
<span><br /></span>
<span> Console.WriteLine("Capacity: {0} ", al.Capacity);</span><br />
<span> Console.WriteLine("Count: {0}", al.Count);</span><br />
<span> Console.Write("Content: ");</span><br />
<span> foreach (int i in al)</span><br />
<span> {</span><br />
<span> Console.Write(i + " ");</span><br />
<span> }</span><br />
<span><br /></span>
<span> Console.WriteLine();</span><br />
<span> Console.Write("Sorted Content: ");</span><br />
<span> al.Sort();</span><br />
<span> foreach (int i in al)</span><br />
<span> {</span><br />
<span> Console.Write(i + " ");</span><br />
<span> }</span><br />
<span> Console.WriteLine();</span><br />
<span> //TODO: Generics</span><br />
<span> //Defincation:Generics allow you to delay the specification of the data type of programming elements in a class or a method,</span><br />
<span> //until it is actually used in the program. In other words, generics allow you to write a class or method that can work with any data type.</span><br />
<span> //declaring an int array</span><br />
<span> MyGenericArray<int> intArray = new MyGenericArray<int>(5);</span><br />
<span> //setting values</span><br />
<span> for (int c = 0; c < 5; c++)</span><br />
<span> {</span><br />
<span> intArray.setItem(c, c * 5);</span><br />
<span> }</span><br />
<span> //retrieving the values</span><br />
<span> for (int c = 0; c < 5; c++)</span><br />
<span> {</span><br />
<span> Console.Write(intArray.getItem(c) + " ");</span><br />
<span> }</span><br />
<span> Console.WriteLine();</span><br />
<span> //declaring a character array</span><br />
<span> MyGenericArray<char> charArray = new MyGenericArray<char>(5);</span><br />
<span> //setting values</span><br />
<span> for (int c = 0; c < 5; c++)</span><br />
<span> {</span><br />
<span> charArray.setItem(c, (char)(c + 97));</span><br />
<span> }</span><br />
<span> //retrieving the values</span><br />
<span> for (int c = 0; c < 5; c++)</span><br />
<span> {</span><br />
<span> Console.Write(charArray.getItem(c) + " ");</span><br />
<span> }</span><br />
<span> Console.WriteLine();</span><br />
<span><br /></span>
<span><br /></span>
<span> //TODO: Constructor</span><br />
<span> //Defination: A constructor is a method of the class,</span><br />
<span> //i.e. meant for initializing the data members. The constructor gets called automatically, whenever the object is declared.</span><br />
<span> Sample obj1 = new Sample(new Sample()</span><br />
<span> {</span><br />
<span> EmpId = 51581,</span><br />
<span> ENmae = "Syed Khaleel",</span><br />
<span> EAdress = "Hyd",</span><br />
<span> EAge = 29</span><br />
<span> });</span><br />
<span> obj1.displayEmpData();</span><br />
<span><br /></span>
<span> //calling paramterized consturctor</span><br />
<span> ClsEmployee5 obj11 = new ClsEmployee5(121, "Syed Khaleel", "Hyd", 22);</span><br />
<span> obj11.DisplayEmpdata();</span><br />
<span><br /></span>
<span> //TODO: calling constructor overloading</span><br />
<span> ClsConstrutorOverloading obj111 = new ClsConstrutorOverloading(101, "Syed Khaleel", "Hyd", 24);</span><br />
<span> ClsConstrutorOverloading obj2 = new ClsConstrutorOverloading(102, "Anand");</span><br />
<span> obj111.DisplayEmpData();</span><br />
<span> obj2.DisplayEmpData();</span><br />
<span><br /></span>
<span> //TODO:calculate salary</span><br />
<span><br /></span>
<span> ClsSalary objsal = new ClsSalary();</span><br />
<span> objsal.GetSalData();</span><br />
<span> objsal.Calculate();</span><br />
<span> objsal.DisplaySqldata();</span><br />
<span><br /></span>
<span> //TODO: user defined defualt constructor</span><br />
<span> UserDefinedDefualtConstructor UserDefinedDefualtConstructor = new UserDefinedDefualtConstructor();</span><br />
<span> UserDefinedDefualtConstructor.DisplayEmpData();</span><br />
<span><br /></span>
<span> //TODO : Invoking class inherited from Abstract class.</span><br />
<span> Square square = new Square();</span><br />
<span> Console.WriteLine("--------------------Abstract Class--------------------");</span><br />
<span> Console.WriteLine(square.Area());</span><br />
<span><br /></span>
<span> //TODO: Multiple Inheritence</span><br />
<span> Console.WriteLine("--------------------------Multiple Inheritence with Interface-------------------");</span><br />
<span> Manager manager = new Manager();</span><br />
<span> manager.GetBData();</span><br />
<span> manager.GetEmpData();</span><br />
<span> manager.DisplayBData();</span><br />
<span> manager.DisplayEmpData();</span><br />
<span><br /></span>
<span> //TODO: Implementing Interface</span><br />
<span> //Defination: An interface is defined as a syntactical contract that all the classes inheriting the interface should follow.</span><br />
<span> //The interface defines the 'what' part of the syntactical contract and the deriving classes define the 'how' part of the syntactical contract.</span><br />
<span> //consists of only abstract memebers,by defualt members are public.</span><br />
<span> Console.WriteLine("--------------------------------Interface Example--------------------------");</span><br />
<span> I1 I = new C3();</span><br />
<span> I.F1();</span><br />
<span> I2 I2 = new C3();</span><br />
<span> I2.F1();</span><br />
<span> C3 c3 = new C3();</span><br />
<span> c3.F1();</span><br />
<span><br /></span>
<span> //TODO: Properties</span><br />
<span> //Defination: Properties are named members of classes, structures, and interfaces. Member variables or methods in a class or structures are called Fields.</span><br />
<span> //Properties are an extension of fields and are accessed using the same syntax. They use accessors through which the values of the private fields can be read, written or manipulated</span><br />
<span> Console.WriteLine("------------------------------- Properties ----------------------------------");</span><br />
<span> Property_Employee Property_Employee = new Property_Employee();</span><br />
<span> Console.Write("Enter Employee Details Id,Name,Address,Age");</span><br />
<span> Property_Employee.PEmpId = Convert.ToInt32(Console.ReadLine());</span><br />
<span> Property_Employee.PEName = Console.ReadLine();</span><br />
<span> Property_Employee.PEAddress = Console.ReadLine();</span><br />
<span> Property_Employee.PEAge = Convert.ToInt32(Console.ReadLine());</span><br />
<span> Console.WriteLine(" Employee Id is " + Property_Employee.PEmpId);</span><br />
<span> Console.WriteLine(" Employee Name is " + Property_Employee.PEName);</span><br />
<span> Console.WriteLine(" Employee Address is " + Property_Employee.PEAddress);</span><br />
<span> Console.WriteLine(" Employee Age is " + Property_Employee.PEAge);</span><br />
<span><br /></span>
<span> //TODO : Implementing Arrays</span><br />
<span> </span><br />
<span> Console.WriteLine("----------------------------Reading Names from String Array --------------------");</span><br />
<span> string[] A = new string[6] { "Syed", "Raheem", "Anand", "Bela", "Pravesh", "Krishna" };</span><br />
<span> Console.WriteLine("ELEMENT of ARRAY array");</span><br />
<span> for (int i = 0; i < 6; i++)</span><br />
<span> {</span><br />
<span> Console.WriteLine(A[i] + "");</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Sealed Class</span><br />
<span> //Defination: a sealed class is a class which cannot be derived from other class.</span><br />
<span> Console.WriteLine("------------------------Sealed Class--------------------");</span><br />
<span> clsmanager obj = new clsmanager();</span><br />
<span> obj.GetEmpdata();</span><br />
<span> obj.DisplayEmpData();</span><br />
<span><br /></span>
<span> //TODO: Partial Class Implemention</span><br />
<span> //Defination:a class can be divided into multiple classes using partial keyword.</span><br />
<span> Console.WriteLine("-------------------Partial Class------------------------------");</span><br />
<span> PartialClsEmployee PartialClsEmployee = new PartialClsEmployee();</span><br />
<span> PartialClsEmployee.Getempdata();</span><br />
<span> PartialClsEmployee.DisplayEmpdata();</span><br />
<span><br /></span>
<span> //TODO: Delegate</span><br />
<span> </span><br />
<span> Console.WriteLine("--------------------Delegate-----------------------------");</span><br />
<span> DelegateDemo delDemo = new DelegateDemo();</span><br />
<span> CSharpAndMe.Program.DelegateDemo.sayDel sd = new CSharpAndMe.Program.DelegateDemo.sayDel(delDemo.sayHello);</span><br />
<span> Console.WriteLine(sd("xxx"));</span><br />
<span> CSharpAndMe.Program.DelegateDemo.addDel ad = new CSharpAndMe.Program.DelegateDemo.addDel(delDemo.add);</span><br />
<span> ad(10, 20);</span><br />
<span><br /></span>
<span> //TODO: Exceptional Handling</span><br />
<span> //Defination: An exception is a problem that arises during the execution of a program.</span><br />
<span> //A C# exception is a response to an exceptional circumstance that arises while a program is running, such as an attempt to divide by zero.</span><br />
<span> Console.WriteLine("-----------------Exceptional Handling-------------------------");</span><br />
<span> ExceptionExample ExceptionExample = new ExceptionExample();</span><br />
<span> ExceptionExample.divide();</span><br />
<span><br /></span>
<span> //TODO: Implementing Structures</span><br />
<span> //Defination: In C#, a structure is a value type data type. It helps you to make a single variable hold related data of various data types.</span><br />
<span> //The struct keyword is used for creating a structure.</span><br />
<span> Console.WriteLine("------------------- Structures ----------------------------------");</span><br />
<span> MyStruct m1; // invokes default constructor</span><br />
<span> m1.x = 100; m1.show();</span><br />
<span> Console.WriteLine(m1.x);</span><br />
<span> MyStruct m2 = new MyStruct(200);</span><br />
<span> m2.show();</span><br />
<span> Console.WriteLine(m2.x);</span><br />
<span><br /></span>
<span> //The acronym LINQ is for Language Integrated Query. Microsoft’s query language is fully integrated and offers easy data access from in-memory objects,</span><br />
<span> //databases, XML documents and many more. It is through a set of extensions, LINQ ably integrate queries in C# and Visual Basic.</span><br />
<span><br /></span>
<span> //TODO: Linq Example ,finding no of files with same file extension.</span><br />
<span> Console.WriteLine("------------------ Linq Example ---------------------------");</span><br />
<span> string[] arrfile = { "aaa.txt", "bbb.TXT", "xyz.abc.pdf", "aaaa.PDF", "abc.xml", "ccc.txt", "zzz.txt" };</span><br />
<span> var egrp = arrfile.Select(file => Path.GetExtension(file).TrimStart('.').ToLower())</span><br />
<span> .GroupBy(item => item, (ext, extCnt) => new</span><br />
<span> {</span><br />
<span> Extension = ext,</span><br />
<span> Count = extCnt.Count(),</span><br />
<span> });</span><br />
<span><br /></span>
<span> foreach (var v in egrp)</span><br />
<span> Console.WriteLine("{0} File(s) with {1} Extension ", v.Count, v.Extension);</span><br />
<span><br /></span>
<span> //TODO: Linq, find the file size</span><br />
<span> Console.WriteLine("-------------------- Find file size using LINQ -----------------------");</span><br />
<span> string[] dirfiles = Directory.GetFiles("E:\\Docs\\");//change the location if</span><br />
<span> var avg = dirfiles.Select(file => new FileInfo(file).Length).Average();</span><br />
<span> avg = Math.Round(avg / 10, 1);</span><br />
<span> Console.WriteLine("The Average file size is {0} MB", avg);</span><br />
<span><br /></span>
<span> //TODO: Generate Odd Numbers using LINQ</span><br />
<span> Console.WriteLine("-------------Linq to generate Odd Numbers in Parallel------------------");</span><br />
<span> IEnumerable<int> oddNums = ((ParallelQuery<int>)ParallelEnumerable.Range(20, 2000))</span><br />
<span> .Where(m => m % 2 != 0).OrderBy(m => m).Select(i => i);</span><br />
<span> foreach (int m in oddNums)</span><br />
<span> {</span><br />
<span> Console.Write(m + " ");</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Linq using IEnumareble</span><br />
<span> Console.WriteLine("------------------------ IEnumareble using LINQ ------------------------");</span><br />
<span> var t = typeof(IEnumerable);</span><br />
<span> var typesIEnum = AppDomain.CurrentDomain.GetAssemblies().SelectMany(ii => ii.GetTypes()).Where(ii => t.IsAssignableFrom(ii));</span><br />
<span> var count = 0;</span><br />
<span> foreach (var types in typesIEnum)</span><br />
<span> {</span><br />
<span> Console.WriteLine(types.FullName);</span><br />
<span> count++;</span><br />
<span> if (count == 20)</span><br />
<span> break;</span><br />
<span> }</span><br />
<span> //TODO: Divide numbers in sequence using Linq and Enumarable</span><br />
<span> Console.WriteLine("-------------------- C# Program to Divide Sequence into Groups using LINQ ------------------------------");</span><br />
<span> var seq = Enumerable.Range(100, 100).Select(ff => ff / 10f);</span><br />
<span> var grps = from ff in seq.Select((k, l) => new { k, Grp = l / 10 })</span><br />
<span> group ff.k by ff.Grp into y</span><br />
<span> select new { Min = y.Min(), Max = y.Max() };</span><br />
<span> foreach (var grp in grps)</span><br />
<span> Console.WriteLine("Min: " + grp.Min + " Max:" + grp.Max);</span><br />
<span><br /></span>
<span> //TODO : get Student Details using linq</span><br />
<span> Program pg = new Program();</span><br />
<span> IEnumerable<Student> studentQuery1 =</span><br />
<span> from student in pg.students</span><br />
<span> where student.ID > 1</span><br />
<span> select student;</span><br />
<span><br /></span>
<span> Console.WriteLine("Query : Select range_variable");</span><br />
<span> Console.WriteLine("Name : ID");</span><br />
<span> foreach (Student stud in studentQuery1)</span><br />
<span> {</span><br />
<span> Console.WriteLine(stud.ToString());</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: get numbers above 500 using linq</span><br />
<span> int[] numbers = {</span><br />
<span> 500, 344, 221,</span><br />
<span> 4443, 229, 1008,</span><br />
<span> 6000, 767, 256, 10,501</span><br />
<span> };</span><br />
<span> var greaterNums = from num in numbers where num > 500 select num;</span><br />
<span><br /></span>
<span> Console.WriteLine("Numbers Greater than 500 :");</span><br />
<span> foreach (var gn in greaterNums)</span><br />
<span> {</span><br />
<span> Console.Write(gn.ToString() + " ");</span><br />
<span> }</span><br />
<span><br /></span>
<span> //Object Initialization for Student class</span><br />
<span> List<Students> objStudent = new List<Students>{</span><br />
<span> new Students{ Name="Tom",Regno="R001",Marks=80},</span><br />
<span> new Students{ Name="Bob",Regno="R002",Marks=40},</span><br />
<span> new Students{ Name="jerry",Regno="R003",Marks=25},</span><br />
<span> new Students{ Name="Syed",Regno="R004",Marks=30},</span><br />
<span> new Students{ Name="Mob",Regno="R005",Marks=70},</span><br />
<span> };</span><br />
<span><br /></span>
<span> var objresult = from stu in objStudent</span><br />
<span> let totalMarks = objStudent.Sum(mark => mark.Marks)</span><br />
<span> let avgMarks = totalMarks / 5</span><br />
<span> where avgMarks > stu.Marks</span><br />
<span> select stu;</span><br />
<span> foreach (var stu in objresult)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Student: {0} {1}", stu.Name, stu.Regno);</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Binary to decimal conversion</span><br />
<span><br /></span>
<span> int numm, binary_val, decimal_val = 0, base_val = 1, rem;</span><br />
<span> Console.Write("Enter a Binary Number(1s and 0s) : ");</span><br />
<span> numm = int.Parse(Console.ReadLine()); /* maximum five digits */</span><br />
<span> binary_val = numm;</span><br />
<span> while (numm > 0)</span><br />
<span> {</span><br />
<span> rem = numm % 10;</span><br />
<span> decimal_val = decimal_val + rem * base_val;</span><br />
<span> numm = numm / 10;</span><br />
<span> base_val = base_val * 2;</span><br />
<span> }</span><br />
<span> Console.Write("The Binary Number is : " + binary_val);</span><br />
<span> Console.Write("\nIts Decimal Equivalent is : " + decimal_val);</span><br />
<span><br /></span>
<span> //TODO: Implementing Threading, simple thread</span><br />
<span> Program prog = new Program();</span><br />
<span> Thread thread = new Thread(new ThreadStart(prog.WorkThreadFunction));</span><br />
<span> thread.Start();</span><br />
<span> Console.Read();</span><br />
<span><br /></span>
<span> //TODO: Implementing thread pool</span><br />
<span> ThreadPoolDemo tpd = new ThreadPoolDemo();</span><br />
<span> for (int i = 0; i < 2; i++)</span><br />
<span> {</span><br />
<span> ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task1));</span><br />
<span> ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task2));</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Implementing thread sleep</span><br />
<span> for (int i = 0; i < 5; i++)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Sleep for 2 Seconds");</span><br />
<span> Thread.Sleep(2000);</span><br />
<span> }</span><br />
<span> </span><br />
<span> for (int i = 0; i < 10; i++)</span><br />
<span> {</span><br />
<span> ThreadStart start = new ThreadStart(TEST);</span><br />
<span> new Thread(start).Start();</span><br />
<span> }</span><br />
<span><br /></span>
<span> ThreadingClass th = new ThreadingClass();</span><br />
<span> Thread thread1 = new Thread(th.DoStuff);</span><br />
<span> thread1.Start();</span><br />
<span> Console.WriteLine("Press any key to exit!!!");</span><br />
<span> Console.ReadKey();</span><br />
<span> th.Stop();</span><br />
<span> thread1.Join();</span><br />
<span><br /></span>
<span> //mathematical programs</span><br />
<span> //TODO: Generating Febonaci Series</span><br />
<span> Console.WriteLine("Febonaci Series");</span><br />
<span> int fi, _count, f1 = 0, f2 = 1, f3 = 0;</span><br />
<span> Console.Write("Enter the Limit : ");</span><br />
<span> _count = int.Parse(Console.ReadLine());</span><br />
<span> Console.WriteLine(f1);</span><br />
<span> Console.WriteLine(f2);</span><br />
<span> for (fi = 0; fi <= _count; fi++)</span><br />
<span> {</span><br />
<span> f3 = f1 + f2;</span><br />
<span> Console.WriteLine(f3);</span><br />
<span> f1 = f2;</span><br />
<span> f2 = f3;</span><br />
<span> }</span><br />
<span><br /></span>
<span> //Factorial of given number</span><br />
<span> Console.WriteLine("Factorial of a Number");</span><br />
<span> int faci, number, fact;</span><br />
<span> Console.WriteLine("Enter the Number");</span><br />
<span> number = int.Parse(Console.ReadLine());</span><br />
<span> fact = number;</span><br />
<span> for (faci = number - 1; faci >= 1; faci--)</span><br />
<span> {</span><br />
<span> fact = fact * faci;</span><br />
<span> }</span><br />
<span> Console.WriteLine("\nFactorial of Given Number is: " + fact);</span><br />
<span><br /></span>
<span><br /></span>
<span> //Armstrong Number</span><br />
<span> //TODO: Finding Armstrong Number</span><br />
<span> Console.WriteLine("Armstrong Number");</span><br />
<span> int numberr, remainder, sum = 0;</span><br />
<span> Console.Write("enter the Number");</span><br />
<span> numberr = int.Parse(Console.ReadLine());</span><br />
<span> for (int i = numberr; i > 0; i = i / 10)</span><br />
<span> {</span><br />
<span> remainder = i % 10;</span><br />
<span> sum = sum + remainder * remainder * remainder;</span><br />
<span> }</span><br />
<span> if (sum == numberr)</span><br />
<span> {</span><br />
<span> Console.Write("Entered Number is an Armstrong Number");</span><br />
<span> }</span><br />
<span> else</span><br />
<span> Console.Write("Entered Number is not an Armstrong Number");</span><br />
<span><br /></span>
<span> //Perfect Number</span><br />
<span> //TODO: Perfect Number Example</span><br />
<span> Console.WriteLine("Perfect Number");</span><br />
<span><br /></span>
<span> int numberrr, summ = 0, nn;</span><br />
<span> Console.Write("enter the Number");</span><br />
<span> numberrr = int.Parse(Console.ReadLine());</span><br />
<span> nn = numberrr;</span><br />
<span> for (int i = 1; i < numberrr; i++)</span><br />
<span> {</span><br />
<span> if (numberrr % i == 0)</span><br />
<span> {</span><br />
<span> summ = summ + i;</span><br />
<span> }</span><br />
<span> }</span><br />
<span> if (summ == nn)</span><br />
<span> {</span><br />
<span> Console.WriteLine("\n Entered number is a perfect number");</span><br />
<span> Console.ReadLine();</span><br />
<span> }</span><br />
<span> else</span><br />
<span> {</span><br />
<span> Console.WriteLine("\n Entered number is not a perfect number");</span><br />
<span> Console.ReadLine();</span><br />
<span> }</span><br />
<span><br /></span>
<span> //Palindrom</span><br />
<span> //TODO: to find the palindrome of a number</span><br />
<span> Console.WriteLine("Palindrome of a given number");</span><br />
<span> int _num, temp, remainderr, reverse = 0;</span><br />
<span> Console.WriteLine("Enter an integer \n");</span><br />
<span> _num = int.Parse(Console.ReadLine());</span><br />
<span> temp = _num;</span><br />
<span> while (_num > 0)</span><br />
<span> {</span><br />
<span> remainderr = _num % 10;</span><br />
<span> reverse = reverse * 10 + remainderr;</span><br />
<span> _num /= 10;</span><br />
<span> }</span><br />
<span> Console.WriteLine("Given number is = {0}", temp);</span><br />
<span> Console.WriteLine("Its reverse is = {0}", reverse);</span><br />
<span> if (temp == reverse)</span><br />
<span> Console.WriteLine("Number is a palindrome \n");</span><br />
<span> else</span><br />
<span> Console.WriteLine("Number is not a palindrome \n");</span><br />
<span><br /></span>
<span> //TODO: finding Distance using time and speed</span><br />
<span> Console.WriteLine("Distance Travelled in Time and speed");</span><br />
<span> int speed, distance, time;</span><br />
<span> Console.WriteLine("Enter the Speed(km/hr) : ");</span><br />
<span> speed = Convert.ToInt32(Console.ReadLine());</span><br />
<span> Console.WriteLine("Enter the Time(hrs) : ");</span><br />
<span> time = Convert.ToInt32(Console.ReadLine());</span><br />
<span> distance = speed * time;</span><br />
<span> Console.WriteLine("Distance Travelled (kms) : " + distance);</span><br />
<span><br /></span>
<span> Console.WriteLine("Prime Number");</span><br />
<span><br /></span>
<span> Console.Write("Enter a Number : ");</span><br />
<span> int nummm;</span><br />
<span> nummm = Convert.ToInt32(Console.ReadLine());</span><br />
<span> int _k;</span><br />
<span> _k = 0;</span><br />
<span> for (int i = 1; i <= nummm; i++)</span><br />
<span> {</span><br />
<span> if (nummm % i == 0)</span><br />
<span> {</span><br />
<span> _k++;</span><br />
<span> }</span><br />
<span> }</span><br />
<span> if (_k == 2)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Entered Number is a Prime Number and the Largest Factor is {0}", nummm);</span><br />
<span> }</span><br />
<span> else</span><br />
<span> {</span><br />
<span> Console.WriteLine("Not a Prime Number");</span><br />
<span> }</span><br />
<span><br /></span>
<span> abbrevation _abrevation = new abbrevation();</span><br />
<span> _abrevation.readdata();</span><br />
<span> _abrevation.abbre();</span><br />
<span><br /></span>
<span> //Reverse of a string</span><br />
<span><br /></span>
<span> string Str, reversestring = "";</span><br />
<span> int Length;</span><br />
<span> Console.Write("Enter A String : ");</span><br />
<span> Str = Console.ReadLine();</span><br />
<span> Length = Str.Length - 1;</span><br />
<span> while (Length >= 0)</span><br />
<span> {</span><br />
<span> reversestring = reversestring + Str[Length];</span><br />
<span> Length--;</span><br />
<span> }</span><br />
<span> Console.WriteLine("Reverse String Is {0}", reversestring);</span><br />
<span><br /></span>
<span> //TODO: Create a File</span><br />
<span> //Defination: A file is a collection of data stored in a disk with a specific name and a directory path.</span><br />
<span> //When a file is opened for reading or writing, it becomes a stream.</span><br />
<span> //The stream is basically the sequence of bytes passing through the communication path.</span><br />
<span> //There are two main streams: the input stream and the output stream.</span><br />
<span> //The input stream is used for reading data from file (read operation) and the output stream is used for writing into the file (write operation).</span><br />
<span> string textpath = @"E:\Docs\test.txt";</span><br />
<span> using (FileStream fs = File.Create(textpath))</span><br />
<span> {</span><br />
<span> Byte[] info = new UTF8Encoding(true).GetBytes("File is Created");</span><br />
<span> fs.Write(info, 0, info.Length);</span><br />
<span> }</span><br />
<span> using (StreamReader sr = File.OpenText(textpath))</span><br />
<span> {</span><br />
<span> string sentence = "";</span><br />
<span> while ((sentence = sr.ReadLine()) != null)</span><br />
<span> {</span><br />
<span> Console.WriteLine(sentence);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> FileRead fr = new FileRead();</span><br />
<span> fr.readdata();</span><br />
<span><br /></span>
<span> Console.ReadKey();</span><br />
<span> }</span><br />
<span><br /></span>
<span> private static void showMatch(string text, string expr)</span><br />
<span> {</span><br />
<span> Console.WriteLine("The Expression: " + expr);</span><br />
<span> MatchCollection mc = Regex.Matches(text, expr);</span><br />
<span> foreach (Match m in mc)</span><br />
<span> {</span><br />
<span> Console.WriteLine(m);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO : copy constructor</span><br />
<span> class Sample</span><br />
<span> {</span><br />
<span> public int EmpId, EAge;</span><br />
<span> public string ENmae, EAdress;</span><br />
<span> public Sample()</span><br />
<span> {</span><br />
<span> //Console.WriteLine("------------Enter Employee Details EmployeeId,Name,Address,Age---------------------");</span><br />
<span> //EmpId = Convert.ToInt32(Console.ReadLine());</span><br />
<span> //ENmae = Console.ReadLine();</span><br />
<span> //EAdress = Console.ReadLine();</span><br />
<span> //EAge = Convert.ToInt32(Console.ReadLine());</span><br />
<span> }</span><br />
<span><br /></span>
<span> public Sample(Sample objTemp)</span><br />
<span> {</span><br />
<span> EmpId = objTemp.EmpId;</span><br />
<span> ENmae = objTemp.ENmae;</span><br />
<span> EAdress = objTemp.EAdress;</span><br />
<span> EAge = objTemp.EAge;</span><br />
<span> }</span><br />
<span> public void displayEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("-------------------------Parameterized Constructor Passing an Object-------------------------");</span><br />
<span> Console.WriteLine("Employee Id is " + EmpId);</span><br />
<span> Console.WriteLine("Employee ENmae is " + ENmae);</span><br />
<span> Console.WriteLine("Employee Adress is " + EAdress);</span><br />
<span> Console.WriteLine("Employee Age is " + EAge);</span><br />
<span> }</span><br />
<span> }</span><br />
<span> //TODO: parameterized consturctor</span><br />
<span> class ClsEmployee5</span><br />
<span> {</span><br />
<span> int EmpId, EAge;</span><br />
<span> string ENmae, EAddress;</span><br />
<span> public ClsEmployee5(int Id, string S1, string S2, int Ag)</span><br />
<span> {</span><br />
<span> this.EmpId = Id;</span><br />
<span> this.ENmae = S1;</span><br />
<span> this.EAddress = S2;</span><br />
<span> this.EAge = Ag;</span><br />
<span> }</span><br />
<span> public void DisplayEmpdata()</span><br />
<span> {</span><br />
<span> Console.WriteLine("------------------------------Parameterized Constructor----------------------------------------");</span><br />
<span> Console.WriteLine("Employee Id is " + EmpId);</span><br />
<span> Console.WriteLine("Employee Name is " + ENmae);</span><br />
<span> Console.WriteLine("Employee Address is " + EAddress);</span><br />
<span> Console.WriteLine("Employee Age is " + EAge);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: constructor overloading</span><br />
<span> class ClsConstrutorOverloading</span><br />
<span> {</span><br />
<span> int EmpId, EAge;</span><br />
<span> string EName, EAddress;</span><br />
<span> public ClsConstrutorOverloading()</span><br />
<span> {</span><br />
<span> EmpId = 101;</span><br />
<span> EName = "Syed";</span><br />
<span> EAddress = "Hyd";</span><br />
<span> EAge = 24;</span><br />
<span><br /></span>
<span> }</span><br />
<span> public ClsConstrutorOverloading(int Id, string S1)</span><br />
<span> {</span><br />
<span> EmpId = Id;</span><br />
<span> EName = S1;</span><br />
<span> }</span><br />
<span> public ClsConstrutorOverloading(int Id, string S1, string S2, int Ag)</span><br />
<span> {</span><br />
<span> EmpId = Id;</span><br />
<span> EName = S1;</span><br />
<span> EAddress = S2;</span><br />
<span> EAge = Ag;</span><br />
<span> }</span><br />
<span> public void DisplayEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("---------------------------------- Constructor Overloading --------------------------------------------------");</span><br />
<span> Console.WriteLine("Employee id is " + EmpId);</span><br />
<span> Console.WriteLine("Employee Name is " + EName);</span><br />
<span> Console.WriteLine("Employee Adress is " + EAddress);</span><br />
<span> Console.WriteLine("Employee Age is " + EAge);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> class ClsSalary</span><br />
<span> {</span><br />
<span> int EmpId;</span><br />
<span> string Ename;</span><br />
<span> double basic, Da, Hra, Gross;</span><br />
<span> public void GetSalData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("------------------ Salary --------------------------");</span><br />
<span> Console.Write("Enter Employee details Employee Id,Name,Basic");</span><br />
<span> this.EmpId = Convert.ToInt32(Console.ReadLine());</span><br />
<span> this.Ename = Console.ReadLine();</span><br />
<span> this.basic = Convert.ToDouble(Console.ReadLine());</span><br />
<span> }</span><br />
<span> public void Calculate()</span><br />
<span> {</span><br />
<span> this.Da = 0.4 * this.basic;</span><br />
<span> this.Hra = 0.3 * this.basic;</span><br />
<span> this.Gross = this.basic + this.Da + this.Hra;</span><br />
<span> }</span><br />
<span> public void DisplaySqldata()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Employee Id is " + this.EmpId);</span><br />
<span> Console.WriteLine("Employee Nameis " + this.Ename);</span><br />
<span> Console.WriteLine("Employee basic is " + this.basic);</span><br />
<span> Console.WriteLine("Employee da is " + this.Da);</span><br />
<span> Console.WriteLine("Employee hra is " + this.Hra);</span><br />
<span> Console.WriteLine("Employee Gross is " + this.Gross);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //Userdefined default Constructor</span><br />
<span> class UserDefinedDefualtConstructor</span><br />
<span> {</span><br />
<span> int EmpId, Age;</span><br />
<span> string EName, EAddress;</span><br />
<span> public UserDefinedDefualtConstructor()</span><br />
<span> {</span><br />
<span> this.EmpId = 101;</span><br />
<span> this.EName = "Syed Khaleel";</span><br />
<span> this.EAddress = "Hyd";</span><br />
<span> this.Age = 25;</span><br />
<span> }</span><br />
<span> public void DisplayEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("--------------------------User defined default Constructor-----------------------------------------");</span><br />
<span> Console.WriteLine("EmpId is " + EmpId);</span><br />
<span> Console.WriteLine("Employee Name " + EName);</span><br />
<span> Console.WriteLine("Employee EADDRESS " + EAddress);</span><br />
<span> Console.WriteLine("Employee AGE " + Age);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> // TODO : abstract class</span><br />
<span> //Defination: An Abstract class is an incomplete class or special class we can't instantiate.</span><br />
<span> //We can use an Abstract class as a Base Class. An Abstract method must be implemented in the non-Abstract class using the override keyword.</span><br />
<span> //After overriding the abstract method is in the non-Abstract class.</span><br />
<span> //We can derive this class in another class and again we can override the same abstract method with it.</span><br />
<span> abstract class ShapesClass</span><br />
<span> {</span><br />
<span> abstract public int Area();</span><br />
<span> }</span><br />
<span> class Square : ShapesClass</span><br />
<span> {</span><br />
<span> int x = 10, y = 20;</span><br />
<span> // Not providing an Area method results</span><br />
<span> // in a compile-time error.</span><br />
<span> public override int Area()</span><br />
<span> {</span><br />
<span> return x * y;</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> class Branch</span><br />
<span> {</span><br />
<span> int Bcode;</span><br />
<span> string BName, BAddress;</span><br />
<span> public void GetBData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Enter Branch Details Code,Name,Address");</span><br />
<span> Bcode = Convert.ToInt32(Console.ReadLine());</span><br />
<span> BName = Console.ReadLine();</span><br />
<span> BAddress = Console.ReadLine();</span><br />
<span> }</span><br />
<span> public void DisplayBData()</span><br />
<span> {</span><br />
<span> Console.WriteLine(" Branch Code is " + Bcode);</span><br />
<span> Console.WriteLine(" Branch BName is " + BName);</span><br />
<span> Console.WriteLine(" Branch BAddress is " + BAddress);</span><br />
<span> }</span><br />
<span> }</span><br />
<span> interface Employee</span><br />
<span> {</span><br />
<span> void GetEmpData();</span><br />
<span> void DisplayEmpData();</span><br />
<span> }</span><br />
<span> class Manager : Branch, Employee</span><br />
<span> {</span><br />
<span> int EmpId;</span><br />
<span> string EName;</span><br />
<span> double Bonus, CA;</span><br />
<span> public void GetEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Enter Manager Details Id,Name,Bonus,CA");</span><br />
<span> EmpId = Convert.ToInt32(Console.ReadLine());</span><br />
<span> EName = Console.ReadLine();</span><br />
<span> Bonus = Convert.ToDouble(Console.ReadLine());</span><br />
<span> CA = Convert.ToDouble(Console.ReadLine());</span><br />
<span> }</span><br />
<span> public void DisplayEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Manager id is " + EmpId);</span><br />
<span> Console.WriteLine("Manager Name is " + EName);</span><br />
<span> Console.WriteLine("Manager Bonus is " + Bonus);</span><br />
<span> Console.WriteLine("Manager CA is " + CA);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> interface I1</span><br />
<span> {</span><br />
<span> void F1();</span><br />
<span> }</span><br />
<span> interface I2</span><br />
<span> {</span><br />
<span> void F1();</span><br />
<span> }</span><br />
<span> class C3 : I1, I2</span><br />
<span> {</span><br />
<span> void I1.F1()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Method f1 from I1");</span><br />
<span> }</span><br />
<span><br /></span>
<span> void I2.F1()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Method F2 from I2");</span><br />
<span> }</span><br />
<span><br /></span>
<span> public void F1()</span><br />
<span> {</span><br />
<span> Console.WriteLine("F1 of C3");</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO : c# Properties example</span><br />
<span> //Definatio: On a class, a property gets and sets values. A simplified syntax form, properties are implemented in the IL as methods.</span><br />
<span> //Properties are named members of classes, structures, and interfaces. Member variables or methods in a class or structures are called Fields.</span><br />
<span> //Properties are an extension of fields and are accessed using the same syntax. They use accessors through which the values of the private fields can be read,</span><br />
<span> //written or manipulated</span><br />
<span><br /></span>
<span> class Property_Employee</span><br />
<span> {</span><br />
<span> int EmpId, EAge;</span><br />
<span> string EName, EAddress;</span><br />
<span> public int PEmpId</span><br />
<span> {</span><br />
<span> set { EmpId = value; }</span><br />
<span> get { return EmpId; }</span><br />
<span><br /></span>
<span> }</span><br />
<span> public int PEAge</span><br />
<span> {</span><br />
<span> set { EAge = value; }</span><br />
<span> get { return EAge; }</span><br />
<span> }</span><br />
<span> public string PEName</span><br />
<span> {</span><br />
<span> set { EName = value; }</span><br />
<span> get { return EName; }</span><br />
<span> }</span><br />
<span> public string PEAddress</span><br />
<span> {</span><br />
<span> set { EAddress = value; }</span><br />
<span> get { return EAddress; }</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Sealed Class</span><br />
<span><br /></span>
<span> class ClsEmployee</span><br />
<span> {</span><br />
<span> protected int Empid; int Eage;</span><br />
<span> protected string Ename; string Eaddress;</span><br />
<span> public virtual void GetEmpdata()</span><br />
<span> {</span><br />
<span> Console.Write("Enter Empliyee Details Id,Name,Address,Age:-");</span><br />
<span> this.Empid = Convert.ToInt32(Console.ReadLine());</span><br />
<span> this.Ename = Console.ReadLine();</span><br />
<span> this.Eaddress = Console.ReadLine();</span><br />
<span> this.Eage = Convert.ToInt32(Console.ReadLine());</span><br />
<span> }</span><br />
<span> public virtual void DisplayEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Employee id is:-" + this.Empid);</span><br />
<span> Console.WriteLine("Employee id is:-" + this.Ename);</span><br />
<span> Console.WriteLine("Employee id is:-" + this.Eaddress);</span><br />
<span> Console.WriteLine("Employee id is:-" + this.Eage);</span><br />
<span> }</span><br />
<span> }</span><br />
<span> sealed class clsmanager : ClsEmployee</span><br />
<span> {</span><br />
<span> double bonus, ca;</span><br />
<span> public override void GetEmpdata()</span><br />
<span> {</span><br />
<span> Console.Write("Enter Empliyee Details Id,Name,Bonus,CA:-");</span><br />
<span> Empid = Convert.ToInt32(Console.ReadLine());</span><br />
<span> Ename = Console.ReadLine();</span><br />
<span> bonus = Convert.ToDouble(Console.ReadLine());</span><br />
<span> ca = Convert.ToDouble(Console.ReadLine());</span><br />
<span> }</span><br />
<span> public override void DisplayEmpData()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Manager id is:-" + Empid);</span><br />
<span> Console.WriteLine("Manager name is:-" + Ename);</span><br />
<span> Console.WriteLine("Manager bonus is:-" + bonus);</span><br />
<span> Console.WriteLine("Manager ca is:-" + ca);</span><br />
<span><br /></span>
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Partial Class</span><br />
<span><br /></span>
<span> partial class PartialClsEmployee</span><br />
<span> {</span><br />
<span> int empid, eage; string ename, eaddress;</span><br />
<span> public void Getempdata()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Enter Employee details Id,Name,Address,Age");</span><br />
<span> this.empid = Convert.ToInt32(Console.ReadLine());</span><br />
<span> this.ename = Console.ReadLine();</span><br />
<span> this.eaddress = Console.ReadLine();</span><br />
<span> this.eage = Convert.ToInt32(Console.ReadLine());</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> partial class PartialClsEmployee</span><br />
<span> {</span><br />
<span> public void DisplayEmpdata()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Employee id is:-" + empid);</span><br />
<span> Console.WriteLine("Employee name is:-" + ename);</span><br />
<span> Console.WriteLine("Employee address is:-" + eaddress);</span><br />
<span> Console.WriteLine("Employee id is:-" + eage);</span><br />
<span> }</span><br />
<span> }</span><br />
<span> //TODO: Exception Handling</span><br />
<span> //Defination: An exception is a problem that arises during the execution of a program.</span><br />
<span> //A C# exception is a response to an exceptional circumstance that arises while a program is running, such as an attempt to divide by zero.</span><br />
<span> public class ExceptionExample</span><br />
<span> {</span><br />
<span> int x, y, z;</span><br />
<span><br /></span>
<span> public void divide()</span><br />
<span> {</span><br />
<span> try</span><br />
<span> {</span><br />
<span> Console.WriteLine("enter x value : ");</span><br />
<span> x = int.Parse(Console.ReadLine());</span><br />
<span> Console.WriteLine("enter y value : ");</span><br />
<span> y = int.Parse(Console.ReadLine());</span><br />
<span> z = x / y;</span><br />
<span> Console.WriteLine(z);</span><br />
<span> }</span><br />
<span><br /></span>
<span> catch (DivideByZeroException ex1)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Divider should not be zero");</span><br />
<span> }</span><br />
<span> catch (FormatException ex2)</span><br />
<span> {</span><br />
<span> Console.WriteLine("u r entered wrong format");</span><br />
<span> }</span><br />
<span> catch (Exception e)</span><br />
<span> {</span><br />
<span> Console.WriteLine("error occured");</span><br />
<span> }</span><br />
<span> Console.WriteLine("end of the program");</span><br />
<span> Console.ReadLine();</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO:Delegates</span><br />
<span> //Defination: C# delegates are similar to pointers to functions, in C or C++.</span><br />
<span> //A delegate is a reference type variable that holds the reference to a method. The reference can be changed at runtime.</span><br />
<span> //Delegates are especially used for implementing events and the call-back methods.</span><br />
<span> //All delegates are implicitly derived from the System.Delegate class.</span><br />
<span> class DelegateDemo</span><br />
<span> {</span><br />
<span> public delegate string sayDel(string name);</span><br />
<span> public delegate void addDel(int x, int y);</span><br />
<span><br /></span>
<span> public string sayHello(string name)</span><br />
<span> {</span><br />
<span> return "Hello" + name;</span><br />
<span> }</span><br />
<span> public void add(int x, int y)</span><br />
<span> {</span><br />
<span> Console.WriteLine(x + y);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> //TODO: Structures</span><br />
<span> //Defination: In C#, a structure is a value type data type. It helps you to make a single variable hold related data of various data types.</span><br />
<span> //The struct keyword is used for creating a structure.</span><br />
<span> struct MyStruct</span><br />
<span> {</span><br />
<span> public int x;</span><br />
<span> public MyStruct(int x)</span><br />
<span> {</span><br />
<span> this.x = x;</span><br />
<span> }</span><br />
<span> public void show()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Method in structure : " + x);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> // TODO : to get Student Details using LINQ...</span><br />
<span><br /></span>
<span> public class Student</span><br />
<span> {</span><br />
<span> public string First { get; set; }</span><br />
<span> public string Last { get; set; }</span><br />
<span> public int ID { get; set; }</span><br />
<span> public List<int> Marks;</span><br />
<span><br /></span>
<span> public ContactInfo GetContactInfo(Program pg, int id)</span><br />
<span> {</span><br />
<span> ContactInfo allinfo =</span><br />
<span> (from ci in pg.contactList</span><br />
<span> where ci.ID == id</span><br />
<span> select ci)</span><br />
<span> .FirstOrDefault();</span><br />
<span><br /></span>
<span> return allinfo;</span><br />
<span> }</span><br />
<span><br /></span>
<span> public override string ToString()</span><br />
<span> {</span><br />
<span> return First + "" + Last + " : " + ID;</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> public class ContactInfo</span><br />
<span> {</span><br />
<span> public int ID { get; set; }</span><br />
<span> public string Email { get; set; }</span><br />
<span> public string Phone { get; set; }</span><br />
<span> public override string ToString() { return Email + "," + Phone; }</span><br />
<span> }</span><br />
<span><br /></span>
<span> public class ScoreInfo</span><br />
<span> {</span><br />
<span> public double Average { get; set; }</span><br />
<span> public int ID { get; set; }</span><br />
<span> }</span><br />
<span> List<Student> students = new List<Student>()</span><br />
<span> {</span><br />
<span> new Student {First="Tom", Last=".S", ID=1, Marks= new List<int>() {97, 92, 81, 60}},</span><br />
<span> new Student {First="Jerry", Last=".M", ID=2, Marks= new List<int>() {75, 84, 91, 39}},</span><br />
<span> new Student {First="Bob", Last=".P", ID=3, Marks= new List<int>() {88, 94, 65, 91}},</span><br />
<span> new Student {First="Mark", Last=".G", ID=4, Marks= new List<int>() {97, 89, 85, 82}},</span><br />
<span> };</span><br />
<span> List<ContactInfo> contactList = new List<ContactInfo>()</span><br />
<span> {</span><br />
<span> new ContactInfo {ID=111, Email="Tom@abc.com", Phone="9328298765"},</span><br />
<span> new ContactInfo {ID=112, Email="Jerry123@aaa.com", Phone="9876543201"},</span><br />
<span> new ContactInfo {ID=113, Email="Bobstar@aaa.com", Phone="9087467653"},</span><br />
<span> new ContactInfo {ID=114, Email="Markantony@qqq.com", Phone="9870098761"}</span><br />
<span> };</span><br />
<span> class Students</span><br />
<span> {</span><br />
<span> public string Name { get; set; }</span><br />
<span> public string Regno { get; set; }</span><br />
<span> public int Marks { get; set; }</span><br />
<span> }</span><br />
<span> class ThreadPoolDemo</span><br />
<span> {</span><br />
<span> public void task1(object obj)</span><br />
<span> {</span><br />
<span> for (int i = 0; i <= 2; i++)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Task 1 is being executed");</span><br />
<span> }</span><br />
<span> }</span><br />
<span> public void task2(object obj)</span><br />
<span> {</span><br />
<span> for (int i = 0; i <= 2; i++)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Task 2 is being executed");</span><br />
<span> }</span><br />
<span> }</span><br />
<span> }</span><br />
<span> static readonly object _object = new object();</span><br />
<span> static void TEST()</span><br />
<span> {</span><br />
<span> lock (_object)</span><br />
<span> {</span><br />
<span> Thread.Sleep(100);</span><br />
<span> Console.WriteLine(Environment.TickCount);</span><br />
<span> }</span><br />
<span> }</span><br />
<span> public class ThreadingClass</span><br />
<span> {</span><br />
<span> private bool flag = false;</span><br />
<span> private int count = 0;</span><br />
<span> public void DoStuff()</span><br />
<span> {</span><br />
<span> while (!flag)</span><br />
<span> {</span><br />
<span> Console.WriteLine(" Thread is Still Working");</span><br />
<span> Thread.Sleep(1000);</span><br />
<span> count++;</span><br />
<span> if (count == 20)</span><br />
<span> break;</span><br />
<span><br /></span>
<span> }</span><br />
<span> }</span><br />
<span> public void Stop()</span><br />
<span> {</span><br />
<span> flag = true;</span><br />
<span> }</span><br />
<span> }</span><br />
<span> public class abbrevation</span><br />
<span> {</span><br />
<span> string str;</span><br />
<span> public void readdata()</span><br />
<span> {</span><br />
<span> Console.WriteLine("Enter a String :");</span><br />
<span> str = Console.In.ReadLine();</span><br />
<span> }</span><br />
<span> public void abbre()</span><br />
<span> {</span><br />
<span> char[] c, result;</span><br />
<span> int j = 0;</span><br />
<span> c = new char[str.Length];</span><br />
<span> result = new char[str.Length];</span><br />
<span> c = str.ToCharArray();</span><br />
<span> result[j++] = (char)((int)c[0] ^ 32);</span><br />
<span> result[j++] = '.';</span><br />
<span> for (int i = 0; i < str.Length - 1; i++)</span><br />
<span> {</span><br />
<span> if (c[i] == ' ' || c[i] == '\t' || c[i] == '\n')</span><br />
<span> {</span><br />
<span> int k = (int)c[i + 1] ^ 32;</span><br />
<span> result[j++] = (char)k;</span><br />
<span> result[j++] = '.';</span><br />
<span> }</span><br />
<span> }</span><br />
<span> Console.Write("The Abbreviation for {0} is ", str);</span><br />
<span> Console.WriteLine(result);</span><br />
<span> Console.ReadLine();</span><br />
<span> }</span><br />
<span> }</span><br />
<span> class FileRead</span><br />
<span> {</span><br />
<span><br /></span>
<span> public void readdata()</span><br />
<span> {</span><br />
<span> FileStream fs = new FileStream(@"E:\Docs\test.txt", FileMode.Open, FileAccess.Read);</span><br />
<span> StreamReader sr = new StreamReader(fs);//Position the File Pointer at the Beginning of the File</span><br />
<span> sr.BaseStream.Seek(0, SeekOrigin.Begin);//Read till the End of the File is Encountered</span><br />
<span> string str = sr.ReadLine();</span><br />
<span> while (str != null)</span><br />
<span> {</span><br />
<span> Console.WriteLine("{0}", str);</span><br />
<span> str = sr.ReadLine();</span><br />
<span> }</span><br />
<span> //Close the Writer and File</span><br />
<span> sr.Close();</span><br />
<span> fs.Close();</span><br />
<span> }</span><br />
<span> }</span><br />
<span> public void WorkThreadFunction()</span><br />
<span> {</span><br />
<span> for (int i = 0; i < 5; i++)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Simple Thread");</span><br />
<span> }</span><br />
<span> }</span><br />
<span> public class MyGenericArray<T></span><br />
<span> {</span><br />
<span> private T[] array;</span><br />
<span> public MyGenericArray(int size)</span><br />
<span> {</span><br />
<span> array = new T[size + 1];</span><br />
<span> }</span><br />
<span><br /></span>
<span> public T getItem(int index)</span><br />
<span> {</span><br />
<span> return array[index];</span><br />
<span> }</span><br />
<span><br /></span>
<span> public void setItem(int index, T value)</span><br />
<span> {</span><br />
<span> array[index] = value;</span><br />
<span> }</span><br />
<span> }</span><br />
<span> }</span><br />
<span> public static class MyExtensions</span><br />
<span> {</span><br />
<span> public static int WordCount(this String str)</span><br />
<span> {</span><br />
<span> return str.Split(new char[] { ' ', '.', ',' }).Length;</span><br />
<span> }</span><br />
<span> }</span><br />
<span>}</span><br />
</span><div>
<span style="font-family: verdana;"><br /></span></div>
<span style="font-family: verdana;"><span>// Add following lines in App.config of your main project.</span><br />
<span><br /></span>
<span><appSettings></span><br />
<span> <add key = "mickey" value="manager"/></span><br />
<span> <add key = "bob" value="tester"/></span><br />
<span> <add key = "tom" value="clerk"/></span><br />
<span> <add key = "jerry" value="manager"/></span><br />
<span> </appSettings></span><br />
<span><br /></span>
<span>//Right click on solution and add a new project of type console and following lines in the program.cs file</span><br />
<span><br /></span>
<span>using System;</span><br />
<span>using System.Collections.Generic;</span><br />
<span>using System.IO;</span><br />
<span>using System.Linq;</span><br />
<span>using System.Net;</span><br />
<span>using System.Net.Sockets;</span><br />
<span>using System.Text;</span><br />
<span>using System.Threading;</span><br />
<span>using System.Threading.Tasks;</span><br />
<span><br /></span>
<span>namespace ServerProgram</span><br />
<span>{</span><br />
<span> class Program</span><br />
<span> {</span><br />
<span> static TcpListener listener;</span><br />
<span> const int LIMIT = 5;</span><br />
<span><br /></span>
<span> static void Main(string[] args)</span><br />
<span> {</span><br />
<span> try</span><br />
<span> {</span><br />
<span> IPAddress ipAd = IPAddress.Parse("172.18.230.63");</span><br />
<span> TcpListener myList = new TcpListener(ipAd, 8001);</span><br />
<span> myList.Start();</span><br />
<span> Console.WriteLine("The server is running at port 8001...");</span><br />
<span> Console.WriteLine("The local End point is :" + myList.LocalEndpoint);</span><br />
<span> Console.WriteLine("Waiting for a connection.....");</span><br />
<span> Socket s = myList.AcceptSocket();</span><br />
<span> Console.WriteLine("Connection accepted from " + s.RemoteEndPoint);</span><br />
<span> byte[] b = new byte[100];</span><br />
<span> int k = s.Receive(b);</span><br />
<span> Console.WriteLine("Recieved...");</span><br />
<span> for (int i = 0; i < k; i++)</span><br />
<span> {</span><br />
<span> Console.Write(Convert.ToChar(b[i]));</span><br />
<span> }</span><br />
<span> ASCIIEncoding asen = new ASCIIEncoding();</span><br />
<span> s.Send(asen.GetBytes("The string was recieved by the server."));</span><br />
<span> Console.WriteLine("\nSent Acknowledgement");</span><br />
<span> s.Close();</span><br />
<span> myList.Stop();</span><br />
<span><br /></span>
<span><br /></span>
<span> listener = new TcpListener(ipAd,2055);</span><br />
<span> listener.Start();</span><br />
<span><br /></span>
<span> Console.WriteLine("Server mounted, listening to port 2055");</span><br />
<span> for (int i = 0; i < LIMIT; i++)</span><br />
<span> {</span><br />
<span> Thread t = new Thread(new ThreadStart(Service));</span><br />
<span> t.Start();</span><br />
<span> }</span><br />
<span> }</span><br />
<span> catch (Exception e)</span><br />
<span> {</span><br />
<span> Console.WriteLine("Error..... " + e.StackTrace);</span><br />
<span> }</span><br />
<span> }</span><br />
<span><br /></span>
<span> </span><br />
<span> public static void Service()</span><br />
<span> {</span><br />
<span> while (true)</span><br />
<span> {</span><br />
<span> Socket soc = listener.AcceptSocket();</span><br />
<span> Console.WriteLine("Connected: {0}", soc.RemoteEndPoint);</span><br />
<span> try</span><br />
<span> {</span><br />
<span> Stream s = new NetworkStream(soc);</span><br />
<span> StreamReader sr = new StreamReader(s);</span><br />
<span> StreamWriter sw = new StreamWriter(s);</span><br />
<span> sw.AutoFlush = true; // enable automatic flushing</span><br />
<span> sw.WriteLine("{0} Employees available", System.Configuration.ConfigurationSettings.AppSettings.Count);</span><br />
<span> while (true)</span><br />
<span> {</span><br />
<span> string name = sr.ReadLine();</span><br />
<span> if (name == "" || name == null) break;</span><br />
<span> string job = System.Configuration.ConfigurationSettings.AppSettings[name];</span><br />
<span> if (job == null) job = "No such employee";</span><br />
<span> sw.WriteLine(job);</span><br />
<span> }</span><br />
<span> s.Close();</span><br />
<span> }</span><br />
<span> catch (Exception e)</span><br />
<span> {</span><br />
<span><br /></span>
<span> Console.WriteLine(e.Message);</span><br />
<span> }</span><br />
<span> Console.WriteLine("Disconnected: {0}", soc.RemoteEndPoint);</span><br />
<span> soc.Close();</span><br />
<span> }</span><br />
<span> }</span><br />
<span> }</span><br />
<span>}</span><br />
</span><div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">//Right click on solution again to add another project of type console for Client Program</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<div>
<span style="font-family: verdana;">using System;</span></div>
<div>
<span style="font-family: verdana;">using System.Collections.Generic;</span></div>
<div>
<span style="font-family: verdana;">using System.IO;</span></div>
<div>
<span style="font-family: verdana;">using System.Linq;</span></div>
<div>
<span style="font-family: verdana;">using System.Net.Sockets;</span></div>
<div>
<span style="font-family: verdana;">using System.Text;</span></div>
<div>
<span style="font-family: verdana;">using System.Threading.Tasks;</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">namespace ClientProgram</span></div>
<div>
<span style="font-family: verdana;">{</span></div>
<div>
<span style="font-family: verdana;"> class Program</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"> static void Main(string[] args)</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"> try</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"> TcpClient tcpclnt = new TcpClient();</span></div>
<div>
<span style="font-family: verdana;"> Console.WriteLine("Connecting.....");</span></div>
<div>
<span style="font-family: verdana;"> tcpclnt.Connect("172.18.230.63", 8001);</span></div>
<div>
<span style="font-family: verdana;"> Console.WriteLine("Connected");</span></div>
<div>
<span style="font-family: verdana;"> Console.Write("Enter the string to be transmitted : ");</span></div>
<div>
<span style="font-family: verdana;"> String str = Console.ReadLine();</span></div>
<div>
<span style="font-family: verdana;"> Stream stm = tcpclnt.GetStream();</span></div>
<div>
<span style="font-family: verdana;"> ASCIIEncoding asen = new ASCIIEncoding();</span></div>
<div>
<span style="font-family: verdana;"> byte[] ba = asen.GetBytes(str);</span></div>
<div>
<span style="font-family: verdana;"> Console.WriteLine("Transmitting.....");</span></div>
<div>
<span style="font-family: verdana;"> stm.Write(ba, 0, ba.Length);</span></div>
<div>
<span style="font-family: verdana;"> byte[] bb = new byte[100];</span></div>
<div>
<span style="font-family: verdana;"> int k = stm.Read(bb, 0, 100);</span></div>
<div>
<span style="font-family: verdana;"> for (int i = 0; i < k; i++)</span></div>
<div>
<span style="font-family: verdana;"> Console.Write(Convert.ToChar(bb[i]));</span></div>
<div>
<span style="font-family: verdana;"> tcpclnt.Close();</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"> }</span></div>
<div>
<span style="font-family: verdana;"> catch (Exception e)</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"> Console.WriteLine("Error..... " + e.Message);</span></div>
<div>
<span style="font-family: verdana;"> Console.ReadKey();</span></div>
<div>
<span style="font-family: verdana;"> }</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"> TcpClient client = new TcpClient("172.18.230.63", 2055);</span></div>
<div>
<span style="font-family: verdana;"> try</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"> Stream s = client.GetStream();</span></div>
<div>
<span style="font-family: verdana;"> StreamReader sr = new StreamReader(s);</span></div>
<div>
<span style="font-family: verdana;"> StreamWriter sw = new StreamWriter(s);</span></div>
<div>
<span style="font-family: verdana;"> sw.AutoFlush = true;</span></div>
<div>
<span style="font-family: verdana;"> Console.WriteLine(sr.ReadLine());</span></div>
<div>
<span style="font-family: verdana;"> while (true)</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"> Console.Write("Name: ");</span></div>
<div>
<span style="font-family: verdana;"> string name = Console.ReadLine();</span></div>
<div>
<span style="font-family: verdana;"> sw.WriteLine(name);</span></div>
<div>
<span style="font-family: verdana;"> if (name == "") break;</span></div>
<div>
<span style="font-family: verdana;"> Console.WriteLine(sr.ReadLine());</span></div>
<div>
<span style="font-family: verdana;"> }</span></div>
<div>
<span style="font-family: verdana;"> s.Close();</span></div>
<div>
<span style="font-family: verdana;"> }</span></div>
<div>
<span style="font-family: verdana;"> finally</span></div>
<div>
<span style="font-family: verdana;"> {</span></div>
<div>
<span style="font-family: verdana;"> client.Close();</span></div>
<div>
<span style="font-family: verdana;"> } </span></div>
<div>
<span style="font-family: verdana;"> }</span></div>
<div>
<span style="font-family: verdana;"> }</span></div>
<div>
<span style="font-family: verdana;">}</span></div>
</div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">Download the <a href="http://www.mediafire.com/download/63s1eh6ie17117e/CSharpByExamples.zip" target="_blank">Source Code</a></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">I hope you enjoyed programming with basic examples.</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">All The Best.</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">Please provide your valuable feed backs.so I can improve further with more examples.</span></div>
</div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com1tag:blogger.com,1999:blog-4832495565449062845.post-58935674025764697262015-01-28T20:24:00.000+05:302018-10-04T01:37:39.892+05:30Introduction to Bundling and Minification in Asp.net/MVC<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"></span></div>
<h1 style="text-align: left;">
</h1>
<div style="text-align: justify;">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Bundling & Minification is a Website Performance Optimization approach provided with asp.net 4.5 version . </span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">It can be added to asp.net 4.0 version too with explicit installation from Nugget Package Manager tool. </span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Bundling & Minification are two techniques we can use in ASP.NET to improve website load time. </span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"> These techniques improve load time by reducing the number of requests to the server and reducing the size of requested resources (CSS, Java Script).</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Most of the current major browsers limit the number of simultaneous connections per each hostname to six.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">That means that while six requests are being processed, additional requests for assets on a host will be queued by the browser.</span></div>
<h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Bundling:</span></h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">As mentioned Bundling is a new feature in ASP.NET 4.5 and that can be implemented in ASP.NET 4.0 version as well with the help of System.Web.Optimization framework and that makes it easy to combine or bundle multiple files into a single file.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">You can create CSS, JavaScript and other bundles. Fewer files means fewer HTTP requests and that can improve first page load performance.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<br />
<h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Minification:</span></h3>
<div>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span></div>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Minification performs optimization to website CSS styles and Javascript code, such as removing unnecessary white space and comments and shortening variable names to one character. </span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Consider the following JavaScript function.
</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;">
loadDropDownValues = function (lookup) {
///<signature>
///<summary> makes a webservice call and bind data to dropdown
// </summary>
//<!--data-blogger-escaped-&lt;param name=&quot;Lookup&quot; type=&quot;String&quot; /&gt;-->Lookup table name for dropdown
///</signature>
Your code goes here
}</span></xmp>
</span><br />
<div>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">After minification it removes unwanted comments and shortens the variable names, the function is reduced to the following:</span></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;">
loadDropDownValues = function (l) {your code goes here};
</span></xmp>
</span><br />
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></xmp></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></xmp></span>
<br />
<h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Bundling and Minification Impact in Web Sites</span></h3>
<div>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span></div>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">The following table shows several important differences between listing all the assets individually and using bundling and minification (B/M) in the sample program. </span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;">Following table is for representation and shows the impact of B&M in Web Applications.
</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
</span><br />
<table border="1">
<thead>
<tr>
<th style="border: 1px solid Gray; font-weight: 500; height: 11px; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-size: large;"><br /></span></th>
<th style="border: 1px solid Gray; font-weight: 500; height: 11px; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Using B/M</span></th>
<th style="border: 1px solid Gray; font-weight: 500; height: 11px; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Without B/M</span></th>
<th style="border: 1px solid Gray; font-weight: 500; height: 11px; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Change</span></th>
</tr>
</thead>
<tbody>
<tr>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">File Requests</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">9</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">34</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">256%</span></td>
</tr>
<tr>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">KB Sent</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">3.36</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">11.92</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">266%</span></td>
</tr>
<tr>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">KB Received</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">388.51</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">530</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">36%</span></td>
</tr>
<tr>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Load Time</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">510 MS</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">780 MS</span></td>
<td style="border: 1px solid Gray; padding: 7px 7px 7px 7px; text-align: left;"><span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">53%</span></td>
</tr>
</tbody>
</table>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
</span><br />
<h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Bundling and Minification Implementation:</span></h3>
<div>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">It is very easy to implement B&M in our web applications. </span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">This can be enabled or disabled by setting the value of the debug attribute in the compilation Element in the Web.config file. </span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"> In the following XML, disable the bundling and minification by setting debug to true.
</span></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;">
<system data-blogger-escaped-.web="">
<compilation data-blogger-escaped-debug="true">
Lines removed for clarity.
</compilation></system>.</span></xmp></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;"></span></xmp><span style="font-family: "georgia" , "times new roman" , serif;">In order to enable bundling and minification, set the debug value to "false".</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"> We can override the Web.config setting with the EnableOptimizations property on the BundleTable class too.
</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><b>Note:</b> Please note that Unless EnableOptimizations is true or the debug attribute in the compilation Element in the Web.config file is set to false, files will not be bundled or minified.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Additionally, the .min version of files will not be used, the full debug versions will be selected.EnableOptimizations overrides the debug attribute in the compilation Element in the Web.config file.
</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">If you are using .net 4.0 versions then we need to install the System.Web.Optimizatin framework from Nugget Package Manager Tool. It Installs Other Dependent DLL’s like WebGreese.DLL.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;"><br /></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"></span>
</span><br />
<h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Practical Approach to Implement Bundling and Minification:</span></h3>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">In my case I have created a separate file for listing all resources (Including CSS, JS) in XML format.
</span><br />
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Take a look at the sample of xml file below.
</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;">
<bundling>
<js data-blogger-escaped-name="~/BlankMaster.js">
<path>~/Scripts/jquery-1.10.2.js</path>
<path>~/Scripts/jquery-ui-1.10.4.custom.js</path>
<path>~/Scripts/CommonFunctions.js</path>
<path>~/Scripts/jquery.tablednd.js</path>
</js>
<css data-blogger-escaped-name="~/BlankMaster.css">
<path>~/Styles/jquery-ui-1.10.4.custom.css</path>
<path>~/Jqx/Jqx - CSS/jqx.base.css</path>
<path>~/Jqx/Jqx - CSS/jqx.metro.css</path>
<path>~/Styles/Main.css</path>
</css>
<js data-blogger-escaped-name="~/MasterPage.js">
<path>~/Scripts/jquery.js</path>
<path>~/Scripts/CommonFunctions.js</path>
<path>~/Scripts/jquery.tablednd.js</path>
<path>~/Scripts/clsCAPS.js</path>
</js>
<css data-blogger-escaped-name="~/MasterPage.css">
<path>~/Styles/Main.css</path>
</css>
</bundling></span></xmp></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;"></span></xmp><span style="font-family: "georgia" , "times new roman" , serif;">Created one helper class which reads the resource URL’s from xml file which is shown above.</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"> This Class reads xml file and adds js/css files to bundle using bundle classes referenced from Optimization framework.</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;">The following code enables bundling and minification and overrides any setting in the Web.config file.
</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
</span><br />
<span style="font-size: large;"><xmp><span style="font-family: "georgia" , "times new roman" , serif;">
public void AddBundling()
{
string filePath = String.Empty;
string bundleName = String.Empty;
try
{
StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/Bundle/FileBundling.xml"));
XmlSerializer serializer = new XmlSerializer(typeof(Bundling));
Bundling bundlingInfo = (Bundling)serializer.Deserialize(reader);
reader.Close();
reader.Dispose();
#region Bundling of the css files.
Bundle cssBundle;
foreach (Css css in bundlingInfo.Css)
{
cssBundle = new StyleBundle(css.Name);
foreach (string cssFile in css.Path)
{
cssBundle.Include(cssFile);
}
BundleTable.Bundles.Add(cssBundle);
}
#endregion
#region Bundling of the java script files.
Bundle jsBundle;
foreach (Js js in bundlingInfo.Js)
{
bundleName = js.Name;
jsBundle = new ScriptBundle(js.Name);
foreach (string jsFile in js.Path)
{
filePath = jsFile;
jsBundle.Include(jsFile);
}
BundleTable.Bundles.Add(jsBundle);
}
#endregion
BundleTable.EnableOptimizations = true;
}
catch (Exception ex)
{
throw new Exception("There is a problem while creating Bundle", ex);
}
}
</span></xmp>
<span style="font-family: "georgia" , "times new roman" , serif;">To identify individual nodes in xml file one model class created with properties which map to nodes in xml file.
This Class Represents Model Class which maps to nodes added in xml file.
</span></span><br />
<span style="font-size: large;"><br /></span></div>
</div>
</div>
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"></span>
<xmp>
[Serializable]
public class Js
{
[XmlAttribute]
public string Name { get; set; }
[XmlElement]
public string[] Path { get; set; }
}
public class Css
{
[XmlAttribute]
public string Name { get; set; }
[XmlElement]
public string[] Path { get; set; }
}
[Serializable]
public class Bundling
{
[XmlElement]
public Js[] Js { get; set; }
[XmlElement]
public Css[] Css { get; set; }
}
</xmp></span></div>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">Bundling and Minification will be registered from Global.asax file.
In order to enable bundling and minifaction we have to register functionality in global.asax file.
In Global.asax Applicatin_Start() method.Create the object of helper class which we created for bundling and minification.
</span></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp>
ApplicationSettingsHelper appSettings = new ApplicationSettingsHelper();
appSettings.AddBundling();
</xmp><span style="font-family: "georgia" , "times new roman" , serif;">
</span><span style="font-family: "georgia" , "times new roman" , serif;">Next step is how to call Bundled resources in webpage/Master pages
Following are the syntaxes to load bundled files(CSS, JS) in webpages
I have called bundled files in master pages as follows
Bundles are referenced in views/aspx using the Render method, (Styles. Render for CSS and Scripts. Render for JavaScript). The following markup from the Master Pages shows how Navigator Pages reference CSS and JavaScript bundles.
</span></span><br />
<span style="font-size: large;"><span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
</span><br />
<h4>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">BlankMaster.Master:</span></h4>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp>
<%# System.Web.Optimization.Styles.Render("~/Common.css") %>
<%# System.Web.Optimization.Scripts.Render("~/BlankMaster.js")%>
</xmp><span style="font-family: "georgia" , "times new roman" , serif;">
</span></span><br />
<h4>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: large;">MasterPage Master:</span></h4>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><xmp>
<%#System.Web.Optimization.Styles.Render("~/MasterPage.css") %>
<%# System.Web.Optimization.Scripts.Render("~/MasterPage.js")%>
</xmp><span style="font-family: "georgia" , "times new roman" , serif;">
</span></span><br />
<br /></div>
Syed Khaleelhttp://www.blogger.com/profile/11018870325782152975noreply@blogger.com0