3:I[39275,[],""]
5:I[61343,[],""]
6:I[23053,["7699","static/chunks/8e1d74a4-5fcc24cf3a9fd8c2.js","7240","static/chunks/53c13509-baa86b522e6ae78c.js","4740","static/chunks/4740-14bdf05e7ce04a11.js","9617","static/chunks/9617-544346a1cd0024b4.js","3185","static/chunks/app/layout-8c4bc5784f5090d9.js"],"StateProvider"]
7:I[19593,["7699","static/chunks/8e1d74a4-5fcc24cf3a9fd8c2.js","7240","static/chunks/53c13509-baa86b522e6ae78c.js","4740","static/chunks/4740-14bdf05e7ce04a11.js","9617","static/chunks/9617-544346a1cd0024b4.js","3185","static/chunks/app/layout-8c4bc5784f5090d9.js"],""]
8:I[18709,["7699","static/chunks/8e1d74a4-5fcc24cf3a9fd8c2.js","5706","static/chunks/9c4e2130-08078aeb5700c43b.js","5505","static/chunks/385cb88d-fd2f37c33b8aa92c.js","5452","static/chunks/5e22fd23-9bf9fa71e7554411.js","9956","static/chunks/ee560e2c-f551c028fd538293.js","4740","static/chunks/4740-14bdf05e7ce04a11.js","6648","static/chunks/6648-3bc9d66179346fb0.js","9160","static/chunks/app/not-found-5850ce7843ba4d5a.js"],"default"]
9:I[45723,["7699","static/chunks/8e1d74a4-5fcc24cf3a9fd8c2.js","7240","static/chunks/53c13509-baa86b522e6ae78c.js","4740","static/chunks/4740-14bdf05e7ce04a11.js","9617","static/chunks/9617-544346a1cd0024b4.js","3185","static/chunks/app/layout-8c4bc5784f5090d9.js"],"default"]
4:["all","net-tutorials","c"]
0:["79z6y6ppLce0GndJRjYzJ",[[["",{"children":[["all","net-tutorials","c"],{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":[["all","net-tutorials","c"],{"children":["__PAGE__",{},[["$L1","$L2"],null],null]},["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/402d889fee29bde2.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/0ff6cecb1d0e96f8.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/cb4e98a4c2dc4d80.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","3",{"rel":"stylesheet","href":"/_next/static/css/a246b44e33111fd9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","4",{"rel":"stylesheet","href":"/_next/static/css/9d9d0f6a85930e46.css","precedence":"next","crossOrigin":"$undefined"}]]}],null]},[["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":[["$","$L7",null,{}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":["$","$L8",null,{}],"notFoundStyles":[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/cb4e98a4c2dc4d80.css","precedence":"next","crossOrigin":"$undefined"}]],"styles":null}],["$","$L9",null,{}]]}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0cc2495744a38244.css","precedence":"next","crossOrigin":"$undefined"}]],"$La"]]]]
b:I[67379,["7699","static/chunks/8e1d74a4-5fcc24cf3a9fd8c2.js","5706","static/chunks/9c4e2130-08078aeb5700c43b.js","5505","static/chunks/385cb88d-fd2f37c33b8aa92c.js","5452","static/chunks/5e22fd23-9bf9fa71e7554411.js","9956","static/chunks/ee560e2c-f551c028fd538293.js","7240","static/chunks/53c13509-baa86b522e6ae78c.js","6051","static/chunks/795d4814-d7614a20709c27af.js","614","static/chunks/3d47b92a-f2bb54912083012c.js","9212","static/chunks/59650de3-13cfd2620b7240d2.js","522","static/chunks/94730671-a8ad9eca65504500.js","7675","static/chunks/b563f954-501d993050fd0717.js","1994","static/chunks/e34aaff9-cd556a7ee1a90c03.js","6990","static/chunks/13b76428-5a68792917164904.js","5957","static/chunks/30a37ab2-a5fc2d8864b3152b.js","6844","static/chunks/f25cdb8d-30c837856fb6d42d.js","7259","static/chunks/479ba886-8536ff4966e1aaf8.js","4740","static/chunks/4740-14bdf05e7ce04a11.js","6648","static/chunks/6648-3bc9d66179346fb0.js","4349","static/chunks/4349-c8f0646a83cc4179.js","4791","static/chunks/4791-6c93b9aca8a9f315.js","5225","static/chunks/5225-dc21c87d99338f19.js","9293","static/chunks/9293-d1b040d0324d0d5a.js","5919","static/chunks/5919-545104f05818203e.js","1413","static/chunks/1413-986ad1f4cd2d661e.js","2499","static/chunks/2499-61bd3b514e9c4cb8.js","4175","static/chunks/4175-fb05509a4e1790ec.js","5653","static/chunks/app/%5B...all%5D/page-f1bbbeae9a681a62.js"],"default"]
c:T7d05,<p>&nbsp;</p>
<h2 style="text-align: justify;"><span style="font-size: 14pt; color: #e67e23;">.NET Tutorial Overview</span></h2>
<p style="text-align: justify;">Welcome to .NET&nbsp; Tutorials. The objective of these tutorials is to get an in-depth understanding of .NET.&nbsp;&nbsp;The tutorial starts with an overview of .NET.</p>
<p style="text-align: justify;">In addition to these tutorials, we will also cover common issues, Interview questions, and How To&rsquo;s of MongoDB.</p>
<h3><span style="font-size: 14pt;">Index</span></h3>
<ul>
<li><a href="times-control-c-net/" target="_blank" rel="noopener">Working with OOP synopsis concepts in C# .Net</a></li>
<li><a href="working-windows-programming-gui-programming-c-net/" target="_blank" rel="noopener">Working with windows programming [GUI programming] in C# .Net</a></li>
<li><a href="exception-handling-c-net/" target="_blank" rel="noopener">Exception handling in C# .Net</a></li>
<li><a href="working-assemblies-c-net/" target="_blank" rel="noopener">Working with assemblies in C# .net</a></li>
<li><a href="windows-service-mailing-concepts-c-net/" target="_blank" rel="noopener">Windows Service with Mailing concepts in C# .net</a></li>
<li><a href="admin-deployment-c-net/" target="_blank" rel="noopener">Admin, DEPLOYMENT in C# .Net</a></li>
<li><a href="working-distributed-programming-c-net/" target="_blank" rel="noopener">Working with distributed programming in C# .net</a></li>
<li><a href="ado-net/" target="_blank" rel="noopener">ADO.NET</a></li>
<li><a href="working-windows-service-c-net/" target="_blank" rel="noopener">Working with Windows Service in C# .net</a></li>
<li><a href="oledb-connection-command-class-c-net/" target="_blank" rel="noopener">&nbsp;OLEDB connection &amp; command class in C# .net</a></li>
<li><a href="key-related-events-c-net/" target="_blank" rel="noopener">Key Related Events in C# .Net</a></li>
<li><a href="working-data-set-c-net/" target="_blank" rel="noopener">Working With DATA SET in C# .net</a></li>
<li><a href="c-net-3-5-features/" target="_blank" rel="noopener">C# .NET 3.5 Features</a></li>
<li><a href="project-class-c-net/" target="_blank" rel="noopener">Project Class in C# .Net</a></li>
<li><a href="multi-threading-c-net/" target="_blank" rel="noopener">Multi Threading in C# .Net</a></li>
<li><a href="wcf-windows-communication-foundation-vb-net/" target="_blank" rel="noopener">WCF [Windows Communication Foundation] in vb.net</a></li>
<li><a href="challenges-microsoft-net/" target="_blank" rel="noopener">Challenges of Microsoft .net</a></li>
</ul>
<h2><span style="font-size: 14pt; color: #e67e23;">Introduction to .NET</span></h2>
<p style="text-align: justify;">.NET is both a business strategy from Microsoft and its collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services. Microsoft's goal is to provide individual and business users with a seamlessly interoperable and Web-enabled interface for applications and computing devices and to make computing activities increasingly Web browser-oriented. The .NET platform includes servers; building-block services, such as Web-based data storage; and device software. It also includes Passport, Microsoft's fill-in-the-form-only-once identity verification service.</p>
<blockquote>
<p style="text-align: justify;"><em><strong>These core tutorials will help you to learn the fundamentals of .NET. For an in-depth understanding and practical experience, explore Online "<span style="color: #e03e2d;"><a style="color: #e03e2d;" href="net-training" target="_blank" rel="noopener">.NET Training</a></span>"</strong></em></p>
</blockquote>
<p style="text-align: justify;">The Microsoft .NET initiative is a very wide initiative and it spans multiple Microsoft Products ranging from the Windows OS to the Developer Tools to the Enterprise Servers. The definition of .NET differs from context to context, and it becomes very difficult for you to interpret the .NET strategy. This section aims at demystifying the various terminologies behind .NET from a developer&rsquo;s perspective. It will also highlight the need for using this new .NET Platform in your applications and how .NET improves over its previous technologies.</p>
<h3><span style="color: #e67e23; font-size: 12pt;">Understanding the Existing Development Scenario</span></h3>
<p class="p135 ft14" style="text-align: justify;">Windows DNA is a concept for building distributed applications using the Microsoft Windows operating system and related software products.</p>
<p class="p136 ft14" style="text-align: justify;">First, we will understand the 2- tier, 3- tier, and then move on to N- tier Windows DNA.</p>
<p style="text-align: justify;"><img class=" wp-image-21309 aligncenter" src="https://newtekslateassets.s3.us-west-2.amazonaws.com/wp-content/uploads/2016/06/Capture.1368.png" alt="Capture.1368" width="651" height="296" /></p>
<p style="text-align: justify;">Through the appearance of Local-Area-Networks, PCs came out of their isolation, and were soon not only being connected mutually but also to servers. Client/Server- computing was born. <span class="ft36">A </span><span class="ft36">two-tiered</span><span class="ft36"> application is an application whose functionality can only be segmented into two logical tiers, presentation services, and data services. </span>The presentation services of a two-tiered application are responsible for gathering information from the user, interacting with the data services to perform the application's business operations, and presenting the results of those operations to the user. The <span class="ft36">Presentation services </span>are also called the presentation layer because it presents information to the user. Things you might find in a <span class="ft36">presentation layer </span>include a Web browser, a terminal, a custom-designed GUI, or even a character-based user interface<span class="ft42">. The client-Server</span>&nbsp;architecture was a major buzzword in the early '90s, taking initially dumb terminal applications and giving them a fancy windows-like front end, using PCs with terminal emulators which presented pretty GUIs (Graphical user interface) or later Visual Basic, etc front-ends. A web browser talking to a web server is an example of a client talking to a server. Here there is presentation logic (presentation tier) happening at the client, and data/file access (data access tier) and logic happening at the server. One reason why the the2-tier model is so widespread is because of the quality of the tools and middleware that has been most commonly used since the &rsquo;90s: Remote-SQL, ODBC, relatively inexpensive, and well-integrated PC-tools (like Visual Basic, Power-Builder, MS Access,4-GL-Tools by the DBMS manufactures). In comparison, the server-side uses relatively expensive tools. In addition, the PC-based tools show good Rapid-Application-Development (RAD) qualities i.e. simpler applications can be produced in a comparatively short time. The 2-tier model is the logical consequence of RAD-tools popularity.</p>
<p style="text-align: justify;">Tier: Client Server</p>
<p style="text-align: justify;"><img class=" wp-image-21310 aligncenter" src="https://newtekslateassets.s3.us-west-2.amazonaws.com/wp-content/uploads/2016/06/Capture.1369.png" alt="Capture.1369" width="657" height="432" /></p>
<p style="text-align: justify;">In a three-tiered application, the presentation services are responsible for gathering information from the user, sending the user information to the business services for processing, receiving the results of the business services processing, and presenting those results to the user. <span class="ft14">The most popular architecture on the web currently, mostly taking the form of web browser processing client side presentation in the form of HTML/DHTML, etc, the webserver using some scripting language (ASP) and the database server (SQL Server for example) serving up the data.</span></p>
<div id="page_17" style="text-align: justify;">
<p class="p137 ft38">The basic functionalities of 3 &ndash; Tier or N-Tier follows are</p>
<p class="p161 ft14"><strong>The presentation services tier is responsible for:</strong></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Gathering information from the user</span></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Sending the user information to the business services for processing</span></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Receiving the results of the business services processing</span></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Presenting those results to the user</span></p>
</div>
<div id="page_18" style="text-align: justify;">
<div id="id_1">
<p class="p15 ft14"><strong>The business services tier is responsible for:</strong></p>
<p class="p15 ft14" style="padding-left: 30px;"><span class="ft47">-Receiving input from the presentation tier.</span></p>
<p class="p15 ft14" style="padding-left: 30px;"><span class="ft47">-Interacting with data services to perform business operations.</span></p>
<p class="p15 ft14" style="padding-left: 30px;"><span class="ft47">-Sending the processed results to the presentation tier.</span></p>
<p class="p165 ft14">The data services tier is responsible for the:</p>
<p class="p166 ft14" style="padding-left: 30px;"><span class="ft47">-Storage of data.</span></p>
<p class="p18 ft14" style="padding-left: 30px;"><span class="ft47">-Retrieval of data.</span></p>
<p class="p18 ft14" style="padding-left: 30px;"><span class="ft47">-Maintenance of data.</span></p>
<p class="p18 ft14" style="padding-left: 30px;"><span class="ft47">-Integrity of data.</span></p>
<p class="p167 ft14">In Windows DNA applications commonly implement their business logic using one or more of three implementation options.</p>
<p class="p167 ft14" style="padding-left: 30px;"><span class="ft47">-Asp Pages</span></p>
<p class="p167 ft14" style="padding-left: 30px;"><span class="ft47">-COM components</span></p>
<p class="p167 ft14" style="padding-left: 30px;"><span class="ft47">-Stored procedures running in the DBMS</span></p>
<p class="p168 ft14">Writing much business logic in ASP pages is a bad idea. Since simple languages are used, such as Microsoft Visual Basic Script, and the code is interpreted each time it is executed, which hurts the performance. Code in ASP pages is also hard to maintain, largely because business logic is commonly intermixed with presentation code that creates the user interface.</p>
<p class="p169 ft14">One recommended approach for writing middle-tier business logic is to implement that logic as COM objects. This approach is a bit more complex than writing a pure ASP application. Wrapping business logic in COM objects also cleanly separates this code from the presentation code contained in ASP pages, making the application easier to maintain.</p>
<p class="p169 ft14">The Third option for writing business logic is to create some of that code as stored procedures running in the database management system (DBMS). Although a primary reason for using stored procedures is to isolate the details of database schema from business logic to simplify code management and security, having code in such close proximity to data can also help optimize performance.</p>
<h2><span style="font-size: 14pt; color: #e67e23;">Structure of a .NET Application</span></h2>
<p class="p218 ft60">DLL Hell</p>
<p class="p331 ft8">DLLs gave developers the ability to create function libraries and programs that could be shared with more than one application. Windows itself was based on DLLs. While the advantages of shared code modules expanded developer opportunities, it also&nbsp;introduced the problem of updates, revisions, and usage. If one program relied on a specific version of a DLL, and another program upgraded that same DLL, the first program quite often stopped working.</p>
<p class="p332 ft8">Microsoft added to the problem with upgrades of some system DLLs, like comctl.dll, the library used to get file, font, color and printing dialog boxes. If things weren't bad enough with version clashes, if you wanted to uninstall an application, you could easily delete a DLL that was still being used by another program.</p>
<p class="p332 ft8">Recognizing the problem, Microsoft incorporated the ability to track usage of DLLs with the Registry starting formally with Windows 95, and allowed only one version of a DLL to run in memory at a time. Adding yet another complication, when a new application was installed that used an existing DLL, it would increment a usage counter. On uninstall, the counter would be decremented and if no application was using the DLL, it could be deleted.</p>
<p class="p333 ft8">That was, in theory. Over the history of Windows, the method of tracking of DLL usage was changed by Microsoft several times, as well as the problem of rogue installations that didn't play by the rules--the result was called "DLL HELL", and the user was the victim.</p>
<p class="p244 ft8">Solving DLL hell is one thing that the .NET Framework and the CLR targeted. Under the .NET Framework, you can now have multiple versions of a DLL running concurrently. This allows developers to ship a version that works with their program and not worry about stepping on another program. The way .NET does this is to discontinue using the registry to tie DLLs to applications and by introducing the concept of an assembly.</p>
<p class="p334 ft8">On the .NET Platform, if you want to install an application in the client's place all you have to do is use <span class="ft60">XCopy </span>which copies all the necessary program files to a directory on the client&rsquo;s computer. And while uninstalling all you have to do is just delete the directory containing the application and your application is uninstalled.</p>
<div id="page_38">
<h3><span style="color: #e67e23; font-size: 14pt;">Metadata</span></h3>
<p class="p335 ft8">An Assembly is a logical DLL and consists of one or more scripts, DLLs, or executables, and a manifest (a collection of metadata in XML format describing how assembly elements relate). Metadata stored within the Assembly is Microsoft's solution to the registry problem. On the .NET Platform programs are compiled into</p>
<p class="p249 ft8">.NET PE (Portable Executable) files. The header section of every .NET PE file contains a special new section for Metadata (This means Metadata for every PE file is contained within the PE file itself thus abolishing the need for any separate registry entries). Metadata is nothing but a description of every namespace, class, method, property, etc. contained within the PE file. Through Metadata you can discover all the classes and their members contained within the PE file.</p>
<p class="p317 ft8">Metadata describes every type and member defined in your code in a Multilanguage form. Metadata stores the following information:</p>
<p class="p18 ft8"><strong><span class="ft52">Description of the assembly</span></strong></p>
<p class="p18 ft8" style="padding-left: 30px;">-Identity (name, version, culture, public key).<span class="ft31">o </span>The types that are exported.</p>
<p class="p18 ft8" style="padding-left: 30px;">-Other assemblies that this assembly depends on.</p>
<p class="p18 ft8" style="padding-left: 30px;">-Security permissions needed to run</p>
<p class="p328 ft8"><strong><span class="ft52">Description of types</span></strong></p>
<p class="p328 ft8"><span class="ft31">&nbsp;</span>Name, visibility, base class, and interfaces implemented.</p>
<p class="p328 ft8"><span class="ft31">&nbsp;</span>Members (methods, fields, properties, events, nested types)</p>
<p class="p328 ft8"><span class="ft18">&bull;</span><span class="ft52">Attributes</span></p>
<p class="p328 ft8">Additional descriptive elements that modify types and members</p>
<p class="p14 ft76"><strong>Advantages of Metadata:</strong></p>
<p class="p137 ft8">Now let us see the advantages of Metadata:</p>
<p class="p137 ft60"><strong>Self-describing files:</strong></p>
<p class="p337 ft8">CLR modules and assemblies are self-describing. The module's metadata contains everything needed to interact with another module. Metadata automatically provides the functionality of Interface Definition Language (IDL) in COM, allowing you to use one file for both definition and implementation. Runtime modules and assemblies do not even require registration with the operating system. As a result, the descriptions used by the runtime always reflect the actual code in your compiled file, which increases application reliability.</p>
<p class="p14 ft60"><strong>Language Interoperability and easier component-based design:</strong></p>
<p class="p338 ft8">Metadata provides all the information required about compiled code for you to inherit a class from a PE file written in a different language. You can create an instance of any class written in any managed language (any language that targets the Common Language Runtime) without worrying about explicit marshaling or using custom interoperability code.</p>
<p class="p14 ft60">Attributes:</p>
<p class="p264 ft8">The .NET Framework allows you to declare specific kinds of metadata, called attributes, in your compiled file. Attributes can be found throughout the .NET Framework and are used to control in more detail how your program behaves at run time. Additionally, you can emit your own custom metadata into .NET Framework files through user-defined custom attributes.</p>
<p class="p161 ft51"><strong>Assembly</strong></p>
<p class="p339 ft8">Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. An assembly provides the common language runtime with the information it needs to be aware of type implementations. To the runtime, a type does not exist outside the context of an assembly.</p>
<p class="p241 ft8">An assembly does the following functions:</p>
<p class="p241 ft8" style="padding-left: 30px;"><span class="ft52">-It contains the code that the runtime executes.</span></p>
<p class="p241 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a security boundary. An assembly is a unit at which permissions are requested and granted.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a type boundary. Every type&rsquo;s identity includes the name of the assembly at which it resides.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a reference scope boundary. The assembly manifest contains assembly metadata that is used for resolving types and satisfying resource requests. It specifies the types and resources that are exposed outside the assembly.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a version boundary. The assembly is the smallest versionable unit in the common language runtime; all types and resources in the same assembly are versioned as a unit.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a deployment unit. When an application starts, only the assemblies the application initially calls must be present. Other assemblies, such as localization resources or assemblies containing utility classes, can be retrieved on demand. This allows applications to be kept simple and thin when first downloaded.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It is a unit where </span>side-by-side execution is supported.</p>
<p class="p14 ft76"><strong>Contents of an Assembly</strong></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Assembly Manifest</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Assembly Name</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Version Information</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Types</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Locale</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Cryptographic Hash</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Security Permissions</span></p>
<p class="p23 ft76"><strong>Assembly Manifest</strong></p>
<p class="p345 ft8">Every assembly, whether static or dynamic, contains a collection of data that describes how the elements in the assembly relate to each other. The assembly manifest contains this assembly metadata. An assembly manifest contains the following details:</p>
<p class="p345 ft8"><span class="ft52">Identity. An assembly's identity consists of three parts: a name, a version number, and an optional culture.</span></p>
<p class="p345 ft8"><span class="ft52">File list. A manifest includes a list of all files that make up the assembly.</span></p>
<p class="p345 ft8"><span class="ft52">Referenced assemblies. Dependencies between assemblies are stored in the calling assembly's manifest. The dependency information includes a version number, which is used at run time to ensure that the correct version of the dependency is loaded.</span></p>
<p class="p348 ft8"><span class="ft52">Exported types and resources. The visibility options available to types and resources include "visible only within my assembly" and "visible to callers outside my assembly."</span></p>
<p class="p349 ft8"><span class="ft52">Permission requests. The permission requests for an assembly are grouped into three sets: 1) those required for the assembly to run, 2) those that are desired but the assembly will still have some functionality even if they aren't granted, and 3) those that the author never wants the assembly to be granted.</span></p>
<p class="p332 ft8">In general, if you have an application comprising of an assembly named Assem.exe and a module named Mod.dll. Then the assembly manifest stored within the PE Assem.exe will not only contain metadata about the classes, methods, etc. contained within the Assem.exe file but it will also contain references to the classes, methods etc, exported in the Mod.dll file. While the module Mod.dll will only contain metadata describing itself.</p>
<p class="p332 ft8">The following diagram shows the different ways the manifest can be stored:</p>
<p class="p332 ft8">&nbsp;</p>
</div>
</div>
</div>
<p style="text-align: justify;"><img class=" wp-image-21311 aligncenter" src="https://newtekslateassets.s3.us-west-2.amazonaws.com/wp-content/uploads/2016/06/Capture.1370.png" alt="Capture.1370" width="671" height="270" /></p>
<p class="p350 ft8" style="text-align: justify;">For an assembly with one associated file, the manifest is incorporated into the PE file to form a single-file assembly. You can create a multifile assembly with a standalone manifest file or with the manifest incorporated into one of the PE files in the assembly.</p>
<p class="p14 ft8" style="text-align: justify;">The Assembly Manifest performs the following functions:</p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Enumerates the files that make up the assembly.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Governs how references to the assembly's types and resources map to the files that contain their declarations and implementations.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Enumerates other assemblies on which the assembly depends.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Provides a level of indirection between consumers of the assembly and the assembly's implementation details.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Renders the assembly </span>self-describing.</p>
<h3><span style="color: #e67e23; font-size: 14pt;">Modules</span></h3>
<p class="p282 ft8" style="text-align: justify;">Modules are also PE files (always with the extension .netmodule) which contain Metadata but they do not contain the assembly manifest. And hence in order to use a module, you have to create a PE file with the necessary assembly manifest.</p>
<p class="p354 ft8" style="text-align: justify;">In C#, you can create a module using the /t:module compiler switch.</p>
<p class="p22 ft77" style="text-align: justify;">There are a few ways to incorporate a module into an Assembly. You can either use /addmodule switch to add module/s to your assembly, or you can directly use the /t:exe, /t:winexe and /t:library switches to convert the module into an assembly.</p>
<p class="p129 ft76" style="text-align: justify;">Difference between Module and Assembly</p>
<p class="p22 ft8" style="text-align: justify;">A module is an .exe or .dll file. An assembly is a set of one or more modules that together make up an application. If the application is fully contained in a .exe file,fine&mdash;that's a one-module assembly. If the .exe is always deployed with two .dll files and one thinks of all three files as comprising an inseparable unit, then the three modules together form an assembly, but none of them does so by itself. If the product is a class library that exists in a .dll file, then that single .dll file is an assembly. To put it in Microsoft's terms, the assembly is the unit of deployment in</p>
<p class="p354 ft8" style="text-align: justify;">.NET.</p>
<p class="p243 ft8" style="text-align: justify;">An assembly is more than just an abstract way to think about sets of modules. When an assembly is deployed, one (and only one) of the modules in the assembly must contain the assembly manifest, which contains information about the assembly as a whole, including the list of modules contained in the assembly, the version of the assembly, its culture, etc.</p>
<div id="page_42">
<h3><span style="color: #e67e23; font-size: 14pt;">Microsoft Intermediate Language (MSIL)</span></h3>
<p class="p355 ft8" style="text-align: justify;">When compiling to managed code, the compiler translates your source code into Microsoft intermediate language (MSIL), which is a CPU-independent set of instructions that can be efficiently converted to native code. MSIL includes instructions for loading, storing, initializing, and calling methods on objects, as well as for instructions for arithmetic and logical operations, control flow, direct memory access, exception handling, and other operations. Before code can be executed, MSIL must be converted to CPU-specific code by a just-in-time (JIT) compiler. Because the runtime supplies one or more JIT compilers, for each computer architecture it supports, the same set of MSIL can be JIT-compiled and executed on any supported architecture.</p>
<p class="p356 ft8" style="text-align: justify;">When a compiler produces MSIL, it also produces metadata. The MSIL and metadata are contained in a portable executable (PE file) that is based on and extends the published Microsoft PE and Common Object File Format (COFF) used historically for executable content. This file format, which accommodates MSIL or native code as well as metadata, enables the operating system to recognize common language runtime images. The presence of metadata in the file along with the MSIL enables your code to describe itself, which means that there is no need for type libraries or Interface Definition Language (IDL). The runtime locates and extracts the metadata from the file as needed during execution.</p>
<h3><span style="color: #e67e23; font-size: 14pt;">NET Debugging</span></h3>
<p class="p14 ft14" style="text-align: justify;">Debugging is the most important feature of any programming language and Visual Studio</p>
<p class="p422 ft14" style="text-align: justify;">.NET IDE provides this feature in an effective manner (but you can still do a pretty good job with the .NET SDK alone). The application source code goes through two distinct steps before a user can run it. First, the source code is compiled to Microsoft Intermediate Language (MSIL) code using a .NET compiler. Then, at runtime, the MSIL code is compiled to native code. When we debug a .NET application, this process works in reverse. The debugger first maps the native code to the MSIL code. The MSIL code is then mapped back to the source code using the programmer's database (PDB) file. In order to debug an application, these two mappings must be available to the .NET runtime environment.</p>
<p class="p449 ft14" style="text-align: justify;">To accomplish the mapping between the source code and the MSIL, use the/debug:pdbonly compiler switch to create the PDB file (Note: When building ASP.NET applications, specify the compilation setting debug="true" in the application&rsquo;s Web.config file). The second mapping between the MSIL code and native code is accomplished by setting the JITTracking attribute in our assembly. By specifying the /debug compiler switch, the PDB file is created and the JITTracking attribute is enabled. When using this compiler switch, a debugger can be attached to an application loaded outside of the debugger.</p>
<p class="p450 ft14" style="text-align: justify;">Once the required mappings exist, there are several means by which to debug our applications. We can use the integrated debugger within Visual Studio .NET, or, if we prefer, we can use DbgClr, a GUI-based debugger. There is also a command-line debugger, CorDBG that is included in the .NET Framework SDK.</p>
<h3 style="text-align: justify;"><span style="font-size: 12pt;"><strong>Advantages</strong></span></h3>
<p style="padding-left: 30px; text-align: justify;">-Newest technology from MS for app development</p>
<p style="padding-left: 30px; text-align: justify;">-Supports fully managed, but also a hybrid mix of managed and native through P/Invoke and Managed/Unmanaged C++, which means that its easier to write code that doesn't have lots of memory leaks</p>
<p style="padding-left: 30px; text-align: justify;">-WPF and WCF are the new way of building UI's and Communicating between processes and systems</p>
<p style="padding-left: 30px; text-align: justify;">-Fully integrated IDE available</p>
<p style="padding-left: 30px; text-align: justify;">-Linux and Mac support through 3rd parties (Mono)</p>
<p style="padding-left: 30px; text-align: justify;">-Many languages available, both dynamic (IronPython and IronRuby) and static (C#, VB.NET, C++), both object-oriented (C#, VB.NET, C++) and functional (F#)</p>
<h3 style="text-align: justify;"><span style="font-size: 12pt;"><strong>Disadvantages</strong></span></h3>
<p style="text-align: justify;">- Multi-platform support isn't available from MS and isn't available straight after installing Visual Studio - Managed code can be slower than native code</p>
<h3><span style="color: #e67e23; font-size: 12pt;">Conclusion:</span></h3>
<p class="p450 ft14" style="text-align: justify;">Application domains offer all the benefits of process isolation but are much more efficient than processes. The Microsoft .NET runtime host automatically manages the loading/unloading of the assemblies into the appropriate application domains. However, Microsoft .NET Framework class library also offers application developers with various classes that can be used to programmatically create application domains and ensure that the various applications can be isolated from each other. Also, inter-application communication is not that expensive because context switching is not involved in application communication using application domains in Microsoft .NET.</p>
</div>e:T7d05,<p>&nbsp;</p>
<h2 style="text-align: justify;"><span style="font-size: 14pt; color: #e67e23;">.NET Tutorial Overview</span></h2>
<p style="text-align: justify;">Welcome to .NET&nbsp; Tutorials. The objective of these tutorials is to get an in-depth understanding of .NET.&nbsp;&nbsp;The tutorial starts with an overview of .NET.</p>
<p style="text-align: justify;">In addition to these tutorials, we will also cover common issues, Interview questions, and How To&rsquo;s of MongoDB.</p>
<h3><span style="font-size: 14pt;">Index</span></h3>
<ul>
<li><a href="times-control-c-net/" target="_blank" rel="noopener">Working with OOP synopsis concepts in C# .Net</a></li>
<li><a href="working-windows-programming-gui-programming-c-net/" target="_blank" rel="noopener">Working with windows programming [GUI programming] in C# .Net</a></li>
<li><a href="exception-handling-c-net/" target="_blank" rel="noopener">Exception handling in C# .Net</a></li>
<li><a href="working-assemblies-c-net/" target="_blank" rel="noopener">Working with assemblies in C# .net</a></li>
<li><a href="windows-service-mailing-concepts-c-net/" target="_blank" rel="noopener">Windows Service with Mailing concepts in C# .net</a></li>
<li><a href="admin-deployment-c-net/" target="_blank" rel="noopener">Admin, DEPLOYMENT in C# .Net</a></li>
<li><a href="working-distributed-programming-c-net/" target="_blank" rel="noopener">Working with distributed programming in C# .net</a></li>
<li><a href="ado-net/" target="_blank" rel="noopener">ADO.NET</a></li>
<li><a href="working-windows-service-c-net/" target="_blank" rel="noopener">Working with Windows Service in C# .net</a></li>
<li><a href="oledb-connection-command-class-c-net/" target="_blank" rel="noopener">&nbsp;OLEDB connection &amp; command class in C# .net</a></li>
<li><a href="key-related-events-c-net/" target="_blank" rel="noopener">Key Related Events in C# .Net</a></li>
<li><a href="working-data-set-c-net/" target="_blank" rel="noopener">Working With DATA SET in C# .net</a></li>
<li><a href="c-net-3-5-features/" target="_blank" rel="noopener">C# .NET 3.5 Features</a></li>
<li><a href="project-class-c-net/" target="_blank" rel="noopener">Project Class in C# .Net</a></li>
<li><a href="multi-threading-c-net/" target="_blank" rel="noopener">Multi Threading in C# .Net</a></li>
<li><a href="wcf-windows-communication-foundation-vb-net/" target="_blank" rel="noopener">WCF [Windows Communication Foundation] in vb.net</a></li>
<li><a href="challenges-microsoft-net/" target="_blank" rel="noopener">Challenges of Microsoft .net</a></li>
</ul>
<h2><span style="font-size: 14pt; color: #e67e23;">Introduction to .NET</span></h2>
<p style="text-align: justify;">.NET is both a business strategy from Microsoft and its collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services. Microsoft's goal is to provide individual and business users with a seamlessly interoperable and Web-enabled interface for applications and computing devices and to make computing activities increasingly Web browser-oriented. The .NET platform includes servers; building-block services, such as Web-based data storage; and device software. It also includes Passport, Microsoft's fill-in-the-form-only-once identity verification service.</p>
<blockquote>
<p style="text-align: justify;"><em><strong>These core tutorials will help you to learn the fundamentals of .NET. For an in-depth understanding and practical experience, explore Online "<span style="color: #e03e2d;"><a style="color: #e03e2d;" href="net-training" target="_blank" rel="noopener">.NET Training</a></span>"</strong></em></p>
</blockquote>
<p style="text-align: justify;">The Microsoft .NET initiative is a very wide initiative and it spans multiple Microsoft Products ranging from the Windows OS to the Developer Tools to the Enterprise Servers. The definition of .NET differs from context to context, and it becomes very difficult for you to interpret the .NET strategy. This section aims at demystifying the various terminologies behind .NET from a developer&rsquo;s perspective. It will also highlight the need for using this new .NET Platform in your applications and how .NET improves over its previous technologies.</p>
<h3><span style="color: #e67e23; font-size: 12pt;">Understanding the Existing Development Scenario</span></h3>
<p class="p135 ft14" style="text-align: justify;">Windows DNA is a concept for building distributed applications using the Microsoft Windows operating system and related software products.</p>
<p class="p136 ft14" style="text-align: justify;">First, we will understand the 2- tier, 3- tier, and then move on to N- tier Windows DNA.</p>
<p style="text-align: justify;"><img class=" wp-image-21309 aligncenter" src="https://newtekslateassets.s3.us-west-2.amazonaws.com/wp-content/uploads/2016/06/Capture.1368.png" alt="Capture.1368" width="651" height="296" /></p>
<p style="text-align: justify;">Through the appearance of Local-Area-Networks, PCs came out of their isolation, and were soon not only being connected mutually but also to servers. Client/Server- computing was born. <span class="ft36">A </span><span class="ft36">two-tiered</span><span class="ft36"> application is an application whose functionality can only be segmented into two logical tiers, presentation services, and data services. </span>The presentation services of a two-tiered application are responsible for gathering information from the user, interacting with the data services to perform the application's business operations, and presenting the results of those operations to the user. The <span class="ft36">Presentation services </span>are also called the presentation layer because it presents information to the user. Things you might find in a <span class="ft36">presentation layer </span>include a Web browser, a terminal, a custom-designed GUI, or even a character-based user interface<span class="ft42">. The client-Server</span>&nbsp;architecture was a major buzzword in the early '90s, taking initially dumb terminal applications and giving them a fancy windows-like front end, using PCs with terminal emulators which presented pretty GUIs (Graphical user interface) or later Visual Basic, etc front-ends. A web browser talking to a web server is an example of a client talking to a server. Here there is presentation logic (presentation tier) happening at the client, and data/file access (data access tier) and logic happening at the server. One reason why the the2-tier model is so widespread is because of the quality of the tools and middleware that has been most commonly used since the &rsquo;90s: Remote-SQL, ODBC, relatively inexpensive, and well-integrated PC-tools (like Visual Basic, Power-Builder, MS Access,4-GL-Tools by the DBMS manufactures). In comparison, the server-side uses relatively expensive tools. In addition, the PC-based tools show good Rapid-Application-Development (RAD) qualities i.e. simpler applications can be produced in a comparatively short time. The 2-tier model is the logical consequence of RAD-tools popularity.</p>
<p style="text-align: justify;">Tier: Client Server</p>
<p style="text-align: justify;"><img class=" wp-image-21310 aligncenter" src="https://newtekslateassets.s3.us-west-2.amazonaws.com/wp-content/uploads/2016/06/Capture.1369.png" alt="Capture.1369" width="657" height="432" /></p>
<p style="text-align: justify;">In a three-tiered application, the presentation services are responsible for gathering information from the user, sending the user information to the business services for processing, receiving the results of the business services processing, and presenting those results to the user. <span class="ft14">The most popular architecture on the web currently, mostly taking the form of web browser processing client side presentation in the form of HTML/DHTML, etc, the webserver using some scripting language (ASP) and the database server (SQL Server for example) serving up the data.</span></p>
<div id="page_17" style="text-align: justify;">
<p class="p137 ft38">The basic functionalities of 3 &ndash; Tier or N-Tier follows are</p>
<p class="p161 ft14"><strong>The presentation services tier is responsible for:</strong></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Gathering information from the user</span></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Sending the user information to the business services for processing</span></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Receiving the results of the business services processing</span></p>
<p class="p161 ft14" style="padding-left: 30px;"><span class="ft47">-Presenting those results to the user</span></p>
</div>
<div id="page_18" style="text-align: justify;">
<div id="id_1">
<p class="p15 ft14"><strong>The business services tier is responsible for:</strong></p>
<p class="p15 ft14" style="padding-left: 30px;"><span class="ft47">-Receiving input from the presentation tier.</span></p>
<p class="p15 ft14" style="padding-left: 30px;"><span class="ft47">-Interacting with data services to perform business operations.</span></p>
<p class="p15 ft14" style="padding-left: 30px;"><span class="ft47">-Sending the processed results to the presentation tier.</span></p>
<p class="p165 ft14">The data services tier is responsible for the:</p>
<p class="p166 ft14" style="padding-left: 30px;"><span class="ft47">-Storage of data.</span></p>
<p class="p18 ft14" style="padding-left: 30px;"><span class="ft47">-Retrieval of data.</span></p>
<p class="p18 ft14" style="padding-left: 30px;"><span class="ft47">-Maintenance of data.</span></p>
<p class="p18 ft14" style="padding-left: 30px;"><span class="ft47">-Integrity of data.</span></p>
<p class="p167 ft14">In Windows DNA applications commonly implement their business logic using one or more of three implementation options.</p>
<p class="p167 ft14" style="padding-left: 30px;"><span class="ft47">-Asp Pages</span></p>
<p class="p167 ft14" style="padding-left: 30px;"><span class="ft47">-COM components</span></p>
<p class="p167 ft14" style="padding-left: 30px;"><span class="ft47">-Stored procedures running in the DBMS</span></p>
<p class="p168 ft14">Writing much business logic in ASP pages is a bad idea. Since simple languages are used, such as Microsoft Visual Basic Script, and the code is interpreted each time it is executed, which hurts the performance. Code in ASP pages is also hard to maintain, largely because business logic is commonly intermixed with presentation code that creates the user interface.</p>
<p class="p169 ft14">One recommended approach for writing middle-tier business logic is to implement that logic as COM objects. This approach is a bit more complex than writing a pure ASP application. Wrapping business logic in COM objects also cleanly separates this code from the presentation code contained in ASP pages, making the application easier to maintain.</p>
<p class="p169 ft14">The Third option for writing business logic is to create some of that code as stored procedures running in the database management system (DBMS). Although a primary reason for using stored procedures is to isolate the details of database schema from business logic to simplify code management and security, having code in such close proximity to data can also help optimize performance.</p>
<h2><span style="font-size: 14pt; color: #e67e23;">Structure of a .NET Application</span></h2>
<p class="p218 ft60">DLL Hell</p>
<p class="p331 ft8">DLLs gave developers the ability to create function libraries and programs that could be shared with more than one application. Windows itself was based on DLLs. While the advantages of shared code modules expanded developer opportunities, it also&nbsp;introduced the problem of updates, revisions, and usage. If one program relied on a specific version of a DLL, and another program upgraded that same DLL, the first program quite often stopped working.</p>
<p class="p332 ft8">Microsoft added to the problem with upgrades of some system DLLs, like comctl.dll, the library used to get file, font, color and printing dialog boxes. If things weren't bad enough with version clashes, if you wanted to uninstall an application, you could easily delete a DLL that was still being used by another program.</p>
<p class="p332 ft8">Recognizing the problem, Microsoft incorporated the ability to track usage of DLLs with the Registry starting formally with Windows 95, and allowed only one version of a DLL to run in memory at a time. Adding yet another complication, when a new application was installed that used an existing DLL, it would increment a usage counter. On uninstall, the counter would be decremented and if no application was using the DLL, it could be deleted.</p>
<p class="p333 ft8">That was, in theory. Over the history of Windows, the method of tracking of DLL usage was changed by Microsoft several times, as well as the problem of rogue installations that didn't play by the rules--the result was called "DLL HELL", and the user was the victim.</p>
<p class="p244 ft8">Solving DLL hell is one thing that the .NET Framework and the CLR targeted. Under the .NET Framework, you can now have multiple versions of a DLL running concurrently. This allows developers to ship a version that works with their program and not worry about stepping on another program. The way .NET does this is to discontinue using the registry to tie DLLs to applications and by introducing the concept of an assembly.</p>
<p class="p334 ft8">On the .NET Platform, if you want to install an application in the client's place all you have to do is use <span class="ft60">XCopy </span>which copies all the necessary program files to a directory on the client&rsquo;s computer. And while uninstalling all you have to do is just delete the directory containing the application and your application is uninstalled.</p>
<div id="page_38">
<h3><span style="color: #e67e23; font-size: 14pt;">Metadata</span></h3>
<p class="p335 ft8">An Assembly is a logical DLL and consists of one or more scripts, DLLs, or executables, and a manifest (a collection of metadata in XML format describing how assembly elements relate). Metadata stored within the Assembly is Microsoft's solution to the registry problem. On the .NET Platform programs are compiled into</p>
<p class="p249 ft8">.NET PE (Portable Executable) files. The header section of every .NET PE file contains a special new section for Metadata (This means Metadata for every PE file is contained within the PE file itself thus abolishing the need for any separate registry entries). Metadata is nothing but a description of every namespace, class, method, property, etc. contained within the PE file. Through Metadata you can discover all the classes and their members contained within the PE file.</p>
<p class="p317 ft8">Metadata describes every type and member defined in your code in a Multilanguage form. Metadata stores the following information:</p>
<p class="p18 ft8"><strong><span class="ft52">Description of the assembly</span></strong></p>
<p class="p18 ft8" style="padding-left: 30px;">-Identity (name, version, culture, public key).<span class="ft31">o </span>The types that are exported.</p>
<p class="p18 ft8" style="padding-left: 30px;">-Other assemblies that this assembly depends on.</p>
<p class="p18 ft8" style="padding-left: 30px;">-Security permissions needed to run</p>
<p class="p328 ft8"><strong><span class="ft52">Description of types</span></strong></p>
<p class="p328 ft8"><span class="ft31">&nbsp;</span>Name, visibility, base class, and interfaces implemented.</p>
<p class="p328 ft8"><span class="ft31">&nbsp;</span>Members (methods, fields, properties, events, nested types)</p>
<p class="p328 ft8"><span class="ft18">&bull;</span><span class="ft52">Attributes</span></p>
<p class="p328 ft8">Additional descriptive elements that modify types and members</p>
<p class="p14 ft76"><strong>Advantages of Metadata:</strong></p>
<p class="p137 ft8">Now let us see the advantages of Metadata:</p>
<p class="p137 ft60"><strong>Self-describing files:</strong></p>
<p class="p337 ft8">CLR modules and assemblies are self-describing. The module's metadata contains everything needed to interact with another module. Metadata automatically provides the functionality of Interface Definition Language (IDL) in COM, allowing you to use one file for both definition and implementation. Runtime modules and assemblies do not even require registration with the operating system. As a result, the descriptions used by the runtime always reflect the actual code in your compiled file, which increases application reliability.</p>
<p class="p14 ft60"><strong>Language Interoperability and easier component-based design:</strong></p>
<p class="p338 ft8">Metadata provides all the information required about compiled code for you to inherit a class from a PE file written in a different language. You can create an instance of any class written in any managed language (any language that targets the Common Language Runtime) without worrying about explicit marshaling or using custom interoperability code.</p>
<p class="p14 ft60">Attributes:</p>
<p class="p264 ft8">The .NET Framework allows you to declare specific kinds of metadata, called attributes, in your compiled file. Attributes can be found throughout the .NET Framework and are used to control in more detail how your program behaves at run time. Additionally, you can emit your own custom metadata into .NET Framework files through user-defined custom attributes.</p>
<p class="p161 ft51"><strong>Assembly</strong></p>
<p class="p339 ft8">Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. An assembly provides the common language runtime with the information it needs to be aware of type implementations. To the runtime, a type does not exist outside the context of an assembly.</p>
<p class="p241 ft8">An assembly does the following functions:</p>
<p class="p241 ft8" style="padding-left: 30px;"><span class="ft52">-It contains the code that the runtime executes.</span></p>
<p class="p241 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a security boundary. An assembly is a unit at which permissions are requested and granted.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a type boundary. Every type&rsquo;s identity includes the name of the assembly at which it resides.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a reference scope boundary. The assembly manifest contains assembly metadata that is used for resolving types and satisfying resource requests. It specifies the types and resources that are exposed outside the assembly.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a version boundary. The assembly is the smallest versionable unit in the common language runtime; all types and resources in the same assembly are versioned as a unit.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It forms a deployment unit. When an application starts, only the assemblies the application initially calls must be present. Other assemblies, such as localization resources or assemblies containing utility classes, can be retrieved on demand. This allows applications to be kept simple and thin when first downloaded.</span></p>
<p class="p341 ft8" style="padding-left: 30px;"><span class="ft52">-It is a unit where </span>side-by-side execution is supported.</p>
<p class="p14 ft76"><strong>Contents of an Assembly</strong></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Assembly Manifest</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Assembly Name</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Version Information</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Types</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Locale</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Cryptographic Hash</span></p>
<p class="p14 ft76" style="padding-left: 30px;"><span class="ft52">-Security Permissions</span></p>
<p class="p23 ft76"><strong>Assembly Manifest</strong></p>
<p class="p345 ft8">Every assembly, whether static or dynamic, contains a collection of data that describes how the elements in the assembly relate to each other. The assembly manifest contains this assembly metadata. An assembly manifest contains the following details:</p>
<p class="p345 ft8"><span class="ft52">Identity. An assembly's identity consists of three parts: a name, a version number, and an optional culture.</span></p>
<p class="p345 ft8"><span class="ft52">File list. A manifest includes a list of all files that make up the assembly.</span></p>
<p class="p345 ft8"><span class="ft52">Referenced assemblies. Dependencies between assemblies are stored in the calling assembly's manifest. The dependency information includes a version number, which is used at run time to ensure that the correct version of the dependency is loaded.</span></p>
<p class="p348 ft8"><span class="ft52">Exported types and resources. The visibility options available to types and resources include "visible only within my assembly" and "visible to callers outside my assembly."</span></p>
<p class="p349 ft8"><span class="ft52">Permission requests. The permission requests for an assembly are grouped into three sets: 1) those required for the assembly to run, 2) those that are desired but the assembly will still have some functionality even if they aren't granted, and 3) those that the author never wants the assembly to be granted.</span></p>
<p class="p332 ft8">In general, if you have an application comprising of an assembly named Assem.exe and a module named Mod.dll. Then the assembly manifest stored within the PE Assem.exe will not only contain metadata about the classes, methods, etc. contained within the Assem.exe file but it will also contain references to the classes, methods etc, exported in the Mod.dll file. While the module Mod.dll will only contain metadata describing itself.</p>
<p class="p332 ft8">The following diagram shows the different ways the manifest can be stored:</p>
<p class="p332 ft8">&nbsp;</p>
</div>
</div>
</div>
<p style="text-align: justify;"><img class=" wp-image-21311 aligncenter" src="https://newtekslateassets.s3.us-west-2.amazonaws.com/wp-content/uploads/2016/06/Capture.1370.png" alt="Capture.1370" width="671" height="270" /></p>
<p class="p350 ft8" style="text-align: justify;">For an assembly with one associated file, the manifest is incorporated into the PE file to form a single-file assembly. You can create a multifile assembly with a standalone manifest file or with the manifest incorporated into one of the PE files in the assembly.</p>
<p class="p14 ft8" style="text-align: justify;">The Assembly Manifest performs the following functions:</p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Enumerates the files that make up the assembly.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Governs how references to the assembly's types and resources map to the files that contain their declarations and implementations.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Enumerates other assemblies on which the assembly depends.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Provides a level of indirection between consumers of the assembly and the assembly's implementation details.</span></p>
<p class="p14 ft8" style="padding-left: 30px; text-align: justify;"><span class="ft52">-Renders the assembly </span>self-describing.</p>
<h3><span style="color: #e67e23; font-size: 14pt;">Modules</span></h3>
<p class="p282 ft8" style="text-align: justify;">Modules are also PE files (always with the extension .netmodule) which contain Metadata but they do not contain the assembly manifest. And hence in order to use a module, you have to create a PE file with the necessary assembly manifest.</p>
<p class="p354 ft8" style="text-align: justify;">In C#, you can create a module using the /t:module compiler switch.</p>
<p class="p22 ft77" style="text-align: justify;">There are a few ways to incorporate a module into an Assembly. You can either use /addmodule switch to add module/s to your assembly, or you can directly use the /t:exe, /t:winexe and /t:library switches to convert the module into an assembly.</p>
<p class="p129 ft76" style="text-align: justify;">Difference between Module and Assembly</p>
<p class="p22 ft8" style="text-align: justify;">A module is an .exe or .dll file. An assembly is a set of one or more modules that together make up an application. If the application is fully contained in a .exe file,fine&mdash;that's a one-module assembly. If the .exe is always deployed with two .dll files and one thinks of all three files as comprising an inseparable unit, then the three modules together form an assembly, but none of them does so by itself. If the product is a class library that exists in a .dll file, then that single .dll file is an assembly. To put it in Microsoft's terms, the assembly is the unit of deployment in</p>
<p class="p354 ft8" style="text-align: justify;">.NET.</p>
<p class="p243 ft8" style="text-align: justify;">An assembly is more than just an abstract way to think about sets of modules. When an assembly is deployed, one (and only one) of the modules in the assembly must contain the assembly manifest, which contains information about the assembly as a whole, including the list of modules contained in the assembly, the version of the assembly, its culture, etc.</p>
<div id="page_42">
<h3><span style="color: #e67e23; font-size: 14pt;">Microsoft Intermediate Language (MSIL)</span></h3>
<p class="p355 ft8" style="text-align: justify;">When compiling to managed code, the compiler translates your source code into Microsoft intermediate language (MSIL), which is a CPU-independent set of instructions that can be efficiently converted to native code. MSIL includes instructions for loading, storing, initializing, and calling methods on objects, as well as for instructions for arithmetic and logical operations, control flow, direct memory access, exception handling, and other operations. Before code can be executed, MSIL must be converted to CPU-specific code by a just-in-time (JIT) compiler. Because the runtime supplies one or more JIT compilers, for each computer architecture it supports, the same set of MSIL can be JIT-compiled and executed on any supported architecture.</p>
<p class="p356 ft8" style="text-align: justify;">When a compiler produces MSIL, it also produces metadata. The MSIL and metadata are contained in a portable executable (PE file) that is based on and extends the published Microsoft PE and Common Object File Format (COFF) used historically for executable content. This file format, which accommodates MSIL or native code as well as metadata, enables the operating system to recognize common language runtime images. The presence of metadata in the file along with the MSIL enables your code to describe itself, which means that there is no need for type libraries or Interface Definition Language (IDL). The runtime locates and extracts the metadata from the file as needed during execution.</p>
<h3><span style="color: #e67e23; font-size: 14pt;">NET Debugging</span></h3>
<p class="p14 ft14" style="text-align: justify;">Debugging is the most important feature of any programming language and Visual Studio</p>
<p class="p422 ft14" style="text-align: justify;">.NET IDE provides this feature in an effective manner (but you can still do a pretty good job with the .NET SDK alone). The application source code goes through two distinct steps before a user can run it. First, the source code is compiled to Microsoft Intermediate Language (MSIL) code using a .NET compiler. Then, at runtime, the MSIL code is compiled to native code. When we debug a .NET application, this process works in reverse. The debugger first maps the native code to the MSIL code. The MSIL code is then mapped back to the source code using the programmer's database (PDB) file. In order to debug an application, these two mappings must be available to the .NET runtime environment.</p>
<p class="p449 ft14" style="text-align: justify;">To accomplish the mapping between the source code and the MSIL, use the/debug:pdbonly compiler switch to create the PDB file (Note: When building ASP.NET applications, specify the compilation setting debug="true" in the application&rsquo;s Web.config file). The second mapping between the MSIL code and native code is accomplished by setting the JITTracking attribute in our assembly. By specifying the /debug compiler switch, the PDB file is created and the JITTracking attribute is enabled. When using this compiler switch, a debugger can be attached to an application loaded outside of the debugger.</p>
<p class="p450 ft14" style="text-align: justify;">Once the required mappings exist, there are several means by which to debug our applications. We can use the integrated debugger within Visual Studio .NET, or, if we prefer, we can use DbgClr, a GUI-based debugger. There is also a command-line debugger, CorDBG that is included in the .NET Framework SDK.</p>
<h3 style="text-align: justify;"><span style="font-size: 12pt;"><strong>Advantages</strong></span></h3>
<p style="padding-left: 30px; text-align: justify;">-Newest technology from MS for app development</p>
<p style="padding-left: 30px; text-align: justify;">-Supports fully managed, but also a hybrid mix of managed and native through P/Invoke and Managed/Unmanaged C++, which means that its easier to write code that doesn't have lots of memory leaks</p>
<p style="padding-left: 30px; text-align: justify;">-WPF and WCF are the new way of building UI's and Communicating between processes and systems</p>
<p style="padding-left: 30px; text-align: justify;">-Fully integrated IDE available</p>
<p style="padding-left: 30px; text-align: justify;">-Linux and Mac support through 3rd parties (Mono)</p>
<p style="padding-left: 30px; text-align: justify;">-Many languages available, both dynamic (IronPython and IronRuby) and static (C#, VB.NET, C++), both object-oriented (C#, VB.NET, C++) and functional (F#)</p>
<h3 style="text-align: justify;"><span style="font-size: 12pt;"><strong>Disadvantages</strong></span></h3>
<p style="text-align: justify;">- Multi-platform support isn't available from MS and isn't available straight after installing Visual Studio - Managed code can be slower than native code</p>
<h3><span style="color: #e67e23; font-size: 12pt;">Conclusion:</span></h3>
<p class="p450 ft14" style="text-align: justify;">Application domains offer all the benefits of process isolation but are much more efficient than processes. The Microsoft .NET runtime host automatically manages the loading/unloading of the assemblies into the appropriate application domains. However, Microsoft .NET Framework class library also offers application developers with various classes that can be used to programmatically create application domains and ensure that the various applications can be isolated from each other. Also, inter-application communication is not that expensive because context switching is not involved in application communication using application domains in Microsoft .NET.</p>
</div>f:{"id":1,"author_designation":"Content Writer","author_name":"TekSlate","author_bio":"<p>TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.</p>","author_img":"https://tekslateassets.s3.amazonaws.com/images/logo.svg","author_url":"tekslate","article_count":"0","field_of_intrest":"","status":1}
11:{"id":72,"views":290,"rating":4,"title":".NET Tutorials","url_title":"net-tutorials"}
12:{"id":184,"views":0,"rating":4,"title":".NET Interview Questions and Answers","url_title":"net-interview-questions-answers"}
13:{"id":1185,"views":0,"rating":4,"title":"Create MVC application in .NET","url_title":"create-mvc-application-net-give-example"}
14:{"id":1386,"views":821,"rating":4,"title":"C#.net Data Types","url_title":"c-net-data-type"}
15:{"id":1390,"views":604,"rating":4,"title":"Loops in C# .Net","url_title":"loops-c-net-with-examples"}
16:{"id":1391,"views":147,"rating":4,"title":"Arrays in C# .Net","url_title":"arrays-c-net-with-examples"}
17:{"id":1394,"views":1020,"rating":4,"title":"Instance and Local variable in C# .Net","url_title":"instance-and-local-variable-in-c-sharp-net-with-examples"}
18:{"id":1395,"views":505,"rating":4,"title":"Function Overloading in C# .Net","url_title":"function-overloading-c-sharp-net-with-exampler"}
19:{"id":1396,"views":356,"rating":4,"title":"Constructors in C# .Net","url_title":"constructors-c-sharp-net"}
1a:{"id":1397,"views":166,"rating":4,"title":"Static Keyword in C# .Net","url_title":"static-keyword-c-sharp-net"}
1b:{"id":1398,"views":654,"rating":4,"title":"Operator Overloading in C# .Net","url_title":"working-operator-overloading-c-sharp-net"}
1c:{"id":1399,"views":689,"rating":4,"title":"Debugging a Project in C# .Net","url_title":"steps-debugging-project-c-sharp-net"}
1d:{"id":1400,"views":397,"rating":4,"title":"Inheritance in C# .Net","url_title":"types-inheritance-c-sharp-net-with-examples"}
1e:{"id":1401,"views":807,"rating":4,"title":"Abstract Classes and Interface in C# .Net","url_title":"abstract-classes-interface-c-sharp-net-with-examples"}
1f:{"id":1402,"views":765,"rating":4,"title":"Working with windows  programming [GUI programming] in C# .Net","url_title":"working-windows-programming-gui-programming-c-net"}
20:{"id":1403,"views":314,"rating":4,"title":"Events in C# .Net","url_title":"working-events-c-sharp-net-with-eaxmples"}
21:{"id":1404,"views":165,"rating":4,"title":"Key Related Events  in C# .Net","url_title":"key-related-events-c-net"}
22:{"id":1405,"views":775,"rating":4,"title":"Exception handling in C# .Net","url_title":"exception-handling-c-net"}
23:{"id":1406,"views":309,"rating":4,"title":"Working with Stream Reader and Stream Writer class in C# .net","url_title":"working-stream-reader-stream-writer-class-c-net"}
24:{"id":1407,"views":112,"rating":4,"title":"Working with assemblies in C# .net","url_title":"working-assemblies-c-net"}
25:{"id":1408,"views":522,"rating":4,"title":"Working with Windows Service in C# .net","url_title":"working-windows-service-c-net"}
26:{"id":1409,"views":193,"rating":4,"title":"Windows Service with Mailing concepts in C# .net","url_title":"windows-service-mailing-concepts-c-net"}
27:{"id":1410,"views":291,"rating":4,"title":"Working with Delegates in C# .net","url_title":"working-delegates-c-net"}
28:{"id":1411,"views":778,"rating":4,"title":"ADO.NET","url_title":"ado-net"}
29:{"id":1412,"views":1936,"rating":4.1,"title":"OLEDB Connection and Command Class in C# .net","url_title":"oledb-connection-command-class-c-net"}
2a:{"id":1414,"views":409,"rating":4,"title":"Working With DATA SET in C# .net","url_title":"working-data-set-c-net"}
2b:{"id":1504,"views":371,"rating":4,"title":"Working with distributed programming in C# .net","url_title":"working-distributed-programming-c-net"}
2c:{"id":1506,"views":688,"rating":4,"title":"Admin, DEPLOYMENT in C# .Net","url_title":"admin-deployment-c-net"}
2d:{"id":1507,"views":617,"rating":4,"title":"C# .NET 3.5 Features","url_title":"c-net-3-5-features"}
2e:{"id":1508,"views":921,"rating":4,"title":"Working with C# .Net","url_title":"working-c-net"}
2f:{"id":1509,"views":673,"rating":4,"title":"Multi Threading in C# .Net","url_title":"multi-threading-c-net"}
30:{"id":1510,"views":504,"rating":4,"title":"Project Class in C# .Net","url_title":"project-class-c-net"}
31:{"id":1559,"views":582,"rating":4,"title":"Introduction to ADD.NET [Active Data object for .NET]","url_title":"introduction-add-net-active-data-object-net"}
32:{"id":1993,"views":0,"rating":4,"title":".NET Resume","url_title":"net-resume"}
10:["$11","$12","$13","$14","$15","$16","$17","$18","$19","$1a","$1b","$1c","$1d","$1e","$1f","$20","$21","$22","$23","$24","$25","$26","$27","$28","$29","$2a","$2b","$2c","$2d","$2e","$2f","$30","$31","$32"]
34:{"id":4,"blog_id":416,"blog_title":"Embedded Systems Interview Questions","blog_url_title":"interview-questions-on-embedded-systems","order_value":5,"views":1547}
35:{"id":5,"blog_id":1237,"blog_title":"Types of Pointers in C","blog_url_title":"explain-different-types-pointers-c-language","order_value":6,"views":14352}
36:{"id":6,"blog_id":391,"blog_title":"Oracle Procure To Pay Interview Questions","blog_url_title":"interview-questions-on-oracle-procure-to-pay","order_value":1,"views":4352}
37:{"id":7,"blog_id":1216,"blog_title":"Characteristics of C Language","blog_url_title":"characteristics-of-c-language","order_value":2,"views":10834}
38:{"id":8,"blog_id":939,"blog_title":"Salesforce Sample Triggers with different Scenarios","blog_url_title":"15-sample-triggers-different-scenarios","order_value":3,"views":11712}
39:{"id":9,"blog_id":344,"blog_title":"Oracle Financials Interview Questions","blog_url_title":"oracle-financials-interview-questions-and-answers","order_value":4,"views":9437}
3a:{"id":10,"blog_id":441,"blog_title":"Service Desk Analyst Interview Questions","blog_url_title":"interview-questions-on-service-desk-analyst","order_value":7,"views":5421}
3b:{"id":11,"blog_id":381,"blog_title":"SAP OOPS ABAP Interview Questions","blog_url_title":"interview-questions-on-sap-oops-abap","order_value":8,"views":5421}
3c:{"id":12,"blog_id":380,"blog_title":"SAP Adobe Forms Interview Questions","blog_url_title":"interview-questions-on-sap-adobe-forms","order_value":9,"views":1875}
3d:{"id":13,"blog_id":2079,"blog_title":"Power Apps Interview Questions","blog_url_title":"powerapps-interview-questions","order_value":10,"views":7541}
33:["$34","$35","$36","$37","$38","$39","$3a","$3b","$3c","$3d"]
3f:{"id":2,"course":"Core Java Training","rating":"4.8","enrolled":"5703","url_title":"core-java-training"}
40:{"id":10,"course":"Python Training","rating":"4.9","enrolled":"4549","url_title":"python-training"}
41:{"id":44,"course":"Node JS Training","rating":"4.8","enrolled":"2852","url_title":"node-js-training"}
42:{"id":65,"course":"LabVIEW Training","rating":"4.8","enrolled":"96","url_title":"labview-training"}
43:{"id":70,"course":"Mean Stack Training","rating":"4.5","enrolled":"2491","url_title":"mean-stack-training"}
44:{"id":72,"course":"Microservices Training","rating":"4.5","enrolled":"2543 ","url_title":"microservices-training"}
45:{"id":78,"course":"Ruby on Rails Training","rating":"4.8","enrolled":"1254","url_title":"ruby-rails-training"}
46:{"id":98,"course":"Oracle Apex Training","rating":"4.7","enrolled":"945","url_title":"oracle-apex-training"}
47:{"id":99,"course":"Oracle OAF Training","rating":"4.9","enrolled":"4322","url_title":"oracle-oaf-training"}
48:{"id":160,"course":"Java Spring Training","rating":"4.7","enrolled":"1943","url_title":"java-spring-training"}
49:{"id":187,"course":"ReactJS Training","rating":"4.4","enrolled":"138","url_title":"reactjs-training"}
4a:{"id":229,"course":"Advanced Java Training","rating":"4.5","enrolled":"120","url_title":"advanced-java-training"}
4b:{"id":231,"course":".Net Training","rating":"4.1","enrolled":"120","url_title":"net-training"}
4c:{"id":236,"course":"Android Development Training","rating":"4.7","enrolled":"1562","url_title":"android-development-training"}
4d:{"id":245,"course":"JavaScript Training","rating":"4.8","enrolled":"5789","url_title":"javascript-training"}
3e:["$3f","$40","$41","$42","$43","$44","$45","$46","$47","$48","$49","$4a","$4b","$4c","$4d"]
4e:{"id":611,"name":".NET Tutorials","slug":"net-tutorials","type":"articles","status":1}
d:{"id":72,"blog_category":1,"blog_type":1,"wp_id":1,"excerpt":null,"table_of_content":null,"description":"$e","title":".NET Tutorials","url_title":"net-tutorials","image_url":"","meta_title":".NET tutorials For Beginners | Online .NET From Experts","meta_desc":".NET Tutorials give you in-depth knowledge of existing developments in web services.Excel about ?Structure of .NET Application?Modules?NET Debugging and more","views":290,"rating":4,"author":"1","top_level_cat_id":"4","author_desc":"","course_id":"231","created_at":"2016-06-09T06:15:01.000Z","updated_at":"2020-10-13T16:08:06.000Z","status":1,"video_schema_name":null,"video_schema_upload_date":null,"video_schema_description":null,"faq_schema_q1":null,"faq_schema_a1":null,"faq_schema_q2":null,"faq_schema_a2":null,"faq_schema_q3":null,"faq_schema_a3":null,"like_counter":0,"author_details":"$f","related_blogs":"$10","recommended_articles":"$33","recommended_programs":"$3e","category_name":".NET","category_url":"net","type_d":"$4e"}
2:["$","$Lb",null,{"rohit":{"trending":{"id":72,"blog_category":1,"blog_type":1,"wp_id":1,"excerpt":null,"table_of_content":null,"description":"$c","title":".NET Tutorials","url_title":"net-tutorials","image_url":"","meta_title":".NET tutorials For Beginners | Online .NET From Experts","meta_desc":".NET Tutorials give you in-depth knowledge of existing developments in web services.Excel about ?Structure of .NET Application?Modules?NET Debugging and more","views":290,"rating":4,"author":"1","top_level_cat_id":"4","author_desc":"","course_id":"231","created_at":"2016-06-09T06:15:01.000Z","updated_at":"2020-10-13T16:08:06.000Z","status":1,"video_schema_name":null,"video_schema_upload_date":null,"video_schema_description":null,"faq_schema_q1":null,"faq_schema_a1":null,"faq_schema_q2":null,"faq_schema_a2":null,"faq_schema_q3":null,"faq_schema_a3":null,"like_counter":0,"author_details":{"id":1,"author_designation":"Content Writer","author_name":"TekSlate","author_bio":"<p>TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.</p>","author_img":"https://tekslateassets.s3.amazonaws.com/images/logo.svg","author_url":"tekslate","article_count":"0","field_of_intrest":"","status":1},"related_blogs":[{"id":72,"views":290,"rating":4,"title":".NET Tutorials","url_title":"net-tutorials"},{"id":184,"views":0,"rating":4,"title":".NET Interview Questions and Answers","url_title":"net-interview-questions-answers"},{"id":1185,"views":0,"rating":4,"title":"Create MVC application in .NET","url_title":"create-mvc-application-net-give-example"},{"id":1386,"views":821,"rating":4,"title":"C#.net Data Types","url_title":"c-net-data-type"},{"id":1390,"views":604,"rating":4,"title":"Loops in C# .Net","url_title":"loops-c-net-with-examples"},{"id":1391,"views":147,"rating":4,"title":"Arrays in C# .Net","url_title":"arrays-c-net-with-examples"},{"id":1394,"views":1020,"rating":4,"title":"Instance and Local variable in C# .Net","url_title":"instance-and-local-variable-in-c-sharp-net-with-examples"},{"id":1395,"views":505,"rating":4,"title":"Function Overloading in C# .Net","url_title":"function-overloading-c-sharp-net-with-exampler"},{"id":1396,"views":356,"rating":4,"title":"Constructors in C# .Net","url_title":"constructors-c-sharp-net"},{"id":1397,"views":166,"rating":4,"title":"Static Keyword in C# .Net","url_title":"static-keyword-c-sharp-net"},{"id":1398,"views":654,"rating":4,"title":"Operator Overloading in C# .Net","url_title":"working-operator-overloading-c-sharp-net"},{"id":1399,"views":689,"rating":4,"title":"Debugging a Project in C# .Net","url_title":"steps-debugging-project-c-sharp-net"},{"id":1400,"views":397,"rating":4,"title":"Inheritance in C# .Net","url_title":"types-inheritance-c-sharp-net-with-examples"},{"id":1401,"views":807,"rating":4,"title":"Abstract Classes and Interface in C# .Net","url_title":"abstract-classes-interface-c-sharp-net-with-examples"},{"id":1402,"views":765,"rating":4,"title":"Working with windows  programming [GUI programming] in C# .Net","url_title":"working-windows-programming-gui-programming-c-net"},{"id":1403,"views":314,"rating":4,"title":"Events in C# .Net","url_title":"working-events-c-sharp-net-with-eaxmples"},{"id":1404,"views":165,"rating":4,"title":"Key Related Events  in C# .Net","url_title":"key-related-events-c-net"},{"id":1405,"views":775,"rating":4,"title":"Exception handling in C# .Net","url_title":"exception-handling-c-net"},{"id":1406,"views":309,"rating":4,"title":"Working with Stream Reader and Stream Writer class in C# .net","url_title":"working-stream-reader-stream-writer-class-c-net"},{"id":1407,"views":112,"rating":4,"title":"Working with assemblies in C# .net","url_title":"working-assemblies-c-net"},{"id":1408,"views":522,"rating":4,"title":"Working with Windows Service in C# .net","url_title":"working-windows-service-c-net"},{"id":1409,"views":193,"rating":4,"title":"Windows Service with Mailing concepts in C# .net","url_title":"windows-service-mailing-concepts-c-net"},{"id":1410,"views":291,"rating":4,"title":"Working with Delegates in C# .net","url_title":"working-delegates-c-net"},{"id":1411,"views":778,"rating":4,"title":"ADO.NET","url_title":"ado-net"},{"id":1412,"views":1936,"rating":4.1,"title":"OLEDB Connection and Command Class in C# .net","url_title":"oledb-connection-command-class-c-net"},{"id":1414,"views":409,"rating":4,"title":"Working With DATA SET in C# .net","url_title":"working-data-set-c-net"},{"id":1504,"views":371,"rating":4,"title":"Working with distributed programming in C# .net","url_title":"working-distributed-programming-c-net"},{"id":1506,"views":688,"rating":4,"title":"Admin, DEPLOYMENT in C# .Net","url_title":"admin-deployment-c-net"},{"id":1507,"views":617,"rating":4,"title":"C# .NET 3.5 Features","url_title":"c-net-3-5-features"},{"id":1508,"views":921,"rating":4,"title":"Working with C# .Net","url_title":"working-c-net"},{"id":1509,"views":673,"rating":4,"title":"Multi Threading in C# .Net","url_title":"multi-threading-c-net"},{"id":1510,"views":504,"rating":4,"title":"Project Class in C# .Net","url_title":"project-class-c-net"},{"id":1559,"views":582,"rating":4,"title":"Introduction to ADD.NET [Active Data object for .NET]","url_title":"introduction-add-net-active-data-object-net"},{"id":1993,"views":0,"rating":4,"title":".NET Resume","url_title":"net-resume"}],"recommended_articles":[{"id":4,"blog_id":416,"blog_title":"Embedded Systems Interview Questions","blog_url_title":"interview-questions-on-embedded-systems","order_value":5,"views":1547},{"id":5,"blog_id":1237,"blog_title":"Types of Pointers in C","blog_url_title":"explain-different-types-pointers-c-language","order_value":6,"views":14352},{"id":6,"blog_id":391,"blog_title":"Oracle Procure To Pay Interview Questions","blog_url_title":"interview-questions-on-oracle-procure-to-pay","order_value":1,"views":4352},{"id":7,"blog_id":1216,"blog_title":"Characteristics of C Language","blog_url_title":"characteristics-of-c-language","order_value":2,"views":10834},{"id":8,"blog_id":939,"blog_title":"Salesforce Sample Triggers with different Scenarios","blog_url_title":"15-sample-triggers-different-scenarios","order_value":3,"views":11712},{"id":9,"blog_id":344,"blog_title":"Oracle Financials Interview Questions","blog_url_title":"oracle-financials-interview-questions-and-answers","order_value":4,"views":9437},{"id":10,"blog_id":441,"blog_title":"Service Desk Analyst Interview Questions","blog_url_title":"interview-questions-on-service-desk-analyst","order_value":7,"views":5421},{"id":11,"blog_id":381,"blog_title":"SAP OOPS ABAP Interview Questions","blog_url_title":"interview-questions-on-sap-oops-abap","order_value":8,"views":5421},{"id":12,"blog_id":380,"blog_title":"SAP Adobe Forms Interview Questions","blog_url_title":"interview-questions-on-sap-adobe-forms","order_value":9,"views":1875},{"id":13,"blog_id":2079,"blog_title":"Power Apps Interview Questions","blog_url_title":"powerapps-interview-questions","order_value":10,"views":7541}],"recommended_programs":[{"id":2,"course":"Core Java Training","rating":"4.8","enrolled":"5703","url_title":"core-java-training"},{"id":10,"course":"Python Training","rating":"4.9","enrolled":"4549","url_title":"python-training"},{"id":44,"course":"Node JS Training","rating":"4.8","enrolled":"2852","url_title":"node-js-training"},{"id":65,"course":"LabVIEW Training","rating":"4.8","enrolled":"96","url_title":"labview-training"},{"id":70,"course":"Mean Stack Training","rating":"4.5","enrolled":"2491","url_title":"mean-stack-training"},{"id":72,"course":"Microservices Training","rating":"4.5","enrolled":"2543 ","url_title":"microservices-training"},{"id":78,"course":"Ruby on Rails Training","rating":"4.8","enrolled":"1254","url_title":"ruby-rails-training"},{"id":98,"course":"Oracle Apex Training","rating":"4.7","enrolled":"945","url_title":"oracle-apex-training"},{"id":99,"course":"Oracle OAF Training","rating":"4.9","enrolled":"4322","url_title":"oracle-oaf-training"},{"id":160,"course":"Java Spring Training","rating":"4.7","enrolled":"1943","url_title":"java-spring-training"},{"id":187,"course":"ReactJS Training","rating":"4.4","enrolled":"138","url_title":"reactjs-training"},{"id":229,"course":"Advanced Java Training","rating":"4.5","enrolled":"120","url_title":"advanced-java-training"},{"id":231,"course":".Net Training","rating":"4.1","enrolled":"120","url_title":"net-training"},{"id":236,"course":"Android Development Training","rating":"4.7","enrolled":"1562","url_title":"android-development-training"},{"id":245,"course":"JavaScript Training","rating":"4.8","enrolled":"5789","url_title":"javascript-training"}],"category_name":".NET","category_url":"net","type_d":{"id":611,"name":".NET Tutorials","slug":"net-tutorials","type":"articles","status":1}},"type":"articles","categories":[]},"data":"$d"}]
a:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":".NET tutorials For Beginners | Online .NET From Experts"}],["$","meta","3",{"name":"description","content":".NET Tutorials give you in-depth knowledge of existing developments in web services.Excel about ?Structure of .NET Application?Modules?NET Debugging and more"}],["$","meta","4",{"name":"application-name","content":"tekslatetutor"}],["$","meta","5",{"name":"generator","content":"tekslatetutor"}],["$","link","6",{"rel":"canonical","href":"https://tekslate.com/net-tutorials"}],["$","meta","7",{"property":"og:title","content":".NET tutorials For Beginners | Online .NET From Experts"}],["$","meta","8",{"property":"og:description","content":".NET Tutorials give you in-depth knowledge of existing developments in web services.Excel about ?Structure of .NET Application?Modules?NET Debugging and more"}],["$","meta","9",{"property":"og:url","content":"https://tekslate.com/net-tutorials"}],["$","meta","10",{"property":"og:site_name","content":"tekslatetutor"}],["$","meta","11",{"property":"og:locale","content":"en_US"}],["$","meta","12",{"property":"og:image","content":"https://tekslateassets.s3.amazonaws.com/images/TekSlate_New+Colour.svg"}],["$","meta","13",{"property":"og:image:width","content":"1200"}],["$","meta","14",{"property":"og:image:height","content":"628"}],["$","meta","15",{"property":"og:type","content":"website"}],["$","meta","16",{"name":"twitter:card","content":"summary"}],["$","meta","17",{"name":"twitter:creator","content":"@tekslatetutor"}],["$","meta","18",{"name":"twitter:title","content":".NET tutorials For Beginners | Online .NET From Experts"}],["$","meta","19",{"name":"twitter:description","content":".NET Tutorials give you in-depth knowledge of existing developments in web services.Excel about ?Structure of .NET Application?Modules?NET Debugging and more"}],["$","meta","20",{"name":"twitter:image","content":"https://tekslateassets.s3.amazonaws.com/images/TekSlate_New+Colour.svg"}],["$","link","21",{"rel":"icon","href":"https://tekslateassets.s3.amazonaws.com/images/favicon.svg"}]]
1:null
