* .Net, C#,ASP.NET,SQL Server & ASP.NET MVC Tutorials

Monday, 16 February 2015

Csharp Introcuction

INTRODUCTION:
C# is a simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its .NET initiative led by Anders Hejlsberg.
This tutorial will teach you basic C# programming and will also take you through various advanced concepts related to C# programming language.
C# is a modern, general-purpose, object-oriented programming language developed by Microsoft and approved by Ecma and ISO.

C# was developed by Anders Hejlsberg and his team during the development of .Net Framework.

C# is designed for Common Language Infrastructure (CLI), which consists of the executable code and runtime environment that allows use of various high-level languages to be used on different computer platforms and architectures.

The following reasons make C# a widely used professional language:

  1. Modern, general-purpose programming language
  2. Object oriented.
  3. Component oriented.
  4. Easy to learn.
  5. Structured language.
  6. It produces efficient programs.
  7. It can be compiled on a variety of computer platforms.


Part of .Net Framework.

Strong Programming Features of C#

Although C# constructs closely follow traditional high-level languages C and C++ and being an object-oriented programming language, it has strong resemblance with Java, it has numerous strong programming features that make it endearing to multitude of programmers worldwide.

Following is the list of few important features:

  • Boolean Conditions
  • Automatic Garbage Collection 
  • Standard Library 
  • Assembly Versioning 
  • Properties and Events 
  • Delegates and Events Management 
  • Easy-to-use Generics 
  • Indexers 
  • Conditional Compilation 
  • Simple Multithreading 
  • LINQ and Lambda Expressions


Integration with Windows

In this chapter, we will discuss the tools required for creating C# programming. We have already mentioned that C# is part of .Net framework and is used for writing .Net applications. Therefore, before discussing the available tools for running a C# program, let us understand how C# relates to the .Net framework.

The .Net Framework

The .Net framework is a revolutionary platform that helps you to write the following types of applications:

  • Windows applications 
  • Web applications 
  • Web services


The .Net framework applications are multi-platform applications. The framework has been designed in such a way that it can be used from any of the following languages: C#, C++, Visual Basic, Jscript, COBOL, etc. All these languages can access the framework as well as communicate with each other.

The .Net framework consists of an enormous library of codes used by the client languages like C#. Following are some of the components of the .Net framework:

  • Common Language Runtime (CLR) 
  • The .Net Framework Class Library 
  • Common Language Specification 
  • Common Type System 
  • Metadata and Assemblies 
  • Windows Forms 
  • ASP.Net and ASP.Net AJAX 
  • ADO.Net 
  • Windows Workflow Foundation (WF) 
  • Windows Presentation Foundation (WPF) 
  • Windows Communication Foundation (WCF) 
  • LINQ (Language Integrated Query)


For the jobs each of these components perform, please see ASP.Net - Introduction, and for details of each component, please consult Microsoft's documentation.

Integrated Development Environment (IDE) For C#
Microsoft provides the following development tools for C# programming:

Visual Studio 2010 (VS)
Visual C# 2010 Express (VCE)
Visual Web Developer

The last two are freely available from Microsoft official website. Using these tools, you can write all kinds of C# programs from simple command-line applications to more complex applications. You can also write C# source code files using a basic text editor, like Notepad, and compile the code into assemblies using the command-line compiler, which is again a part of the .NET Framework.

Visual C# Express and Visual Web Developer Express edition are trimmed down versions of Visual Studio and has the same look and feel. They retain most features of Visual Studio. In this tutorial, we have used Visual C# 2010 Express.

You can download it from Microsoft Visual Studio. It gets automatically installed in your machine. Please note that you need an active internet connection for installing the express edition.

Writing C# Programs on Linux or Mac OS
Although the.NET Framework runs on the Windows operating system, there are some alternative versions that work on other operating systems. Mono is an open-source version of the .NET Framework which includes a C# compiler and runs on several operating systems, including various flavors of Linux and Mac OS. Kindly check Go Mono.

The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers. Mono can be run on many operating systems including Android, BSD, iOS, Linux, OS X, Windows, Solaris and UNIX.
In this chapter, we will discuss the tools required for creating C# programming. We have already mentioned that C# is part of .Net framework and is used for writing .Net applications. Therefore, before discussing the available tools for running a C# program, let us understand how C# relates to the .Net framework.


Friday, 13 February 2015

.NET Framework System Requirements

.NET Framework System Requirements
.NET Framework 4.5

    The tables in this topic provide the hardware, operating system, and software requirements for the .NET Framework 4.5 and its point releases (4.5.1 and 4.5.2). Development environments that enable you to develop applications for the .NET Framework have a separate set of requirements.
    Processor
    1 GHz
    RAM
    512 MB
    Disk space (minimum) 
          32-bit
    850 MB
          64-bit
    2 GB

    Operating system
    Supported editions
    Additional information
    Windows 8.1
    32-bit and 64-bit
    Includes the .NET Framework 4.5.1
    Windows 8
    32-bit and 64-bit
    Includes the .NET Framework 4.5
    Windows 7 SP1
    32-bit and 64-bit
    -
    Windows Vista SP2 
    32-bit and 64-bit
    -
    Notes:
    • Windows 8 includes the .NET Framework 4.5, so you don't have to install it separately. Similarly, Windows 8.1 includes the .NET Framework 4.5.1.
    • The .NET Framework 4.5 is supported on the Windows Preinstallation Environment (Windows PE). Not all features are supported on Windows PE.
    • For all platforms, we recommend that you upgrade to the latest Windows Service Pack and critical updates available from the Windows Update website to ensure the best compatibility and security.
    • On 64-bit operating systems, the .NET Framework supports both WOW64 (32-bit processing on a 64-bit machine) and native 64-bit processing.



    Operating system
    Supported editions
    Additional information
    Windows Server 2012 R2
    64-bit
    Includes the .NET Framework 4.5.1
    Windows Server 2012 (64-bit edition)
    64-bit
    Includes the .NET Framework 4.5
    Windows Server 2008 R2 SP1
    64-bit
    The .NET Framework is supported in the Server Core Role with SP1 or later, but isn't supported on Windows Server 2008 R2 for Itanium-Based Systems.
    Windows Server 2008 SP2
    32-bit and 64-bit
    The .NET Framework is not supported in the Server Core Role.
    Notes:
    • Windows Server 2012 includes the .NET Framework 4.5, so you don't have to install it separately. Similarly, Windows Server 2012 R2 includes the .NET Framework 4.5.1.
    • For all platforms, we recommend that you upgrade to the latest Windows Service Pack and critical updates available from the Windows Update website to ensure the best compatibility and security. Installation of the latest Windows Service Pack may be required on some operating systems.
    • On 64-bit operating systems, the .NET Framework supports both WOW64 (32-bit processing on a 64-bit machine) and native 64-bit processing.



    Thursday, 12 February 2015

    Understanding the .NET Framework Platform

    Introduction to .NET Framework

    .NET – What Is It?

              Software platform
              Language neutral
              In other words:

     .NET is not a language (Runtime and a library for writing and executing written programs in any compliant language)

    What Is .NET?

    Net is a new framework for developing web-based and windows-based applications within the Microsoft environment.

    The .NET Framework is comprised of CLR (Common Language Runtime, a language-neutral development environment) and FCL (Framework Class Libraries, an object-oriented functionality library).

    The framework offers a fundamental shift in Microsoft strategy: it moves application development from client-centric to server-centric.

    .Net Application

            
    .Net Framework

            
    Operating System + Hardware

      

    Framework, Languages and Tools with Versions.

         

    The .Net Framework Service

              Common Language Runtime
              Windows® Forms
              ASP.NET
             Web Forms
             Web Services
              ADO.NET, evolution of ADO
              Visual Studio.NET

    Common Language Runtime (CLR)

              CLR works like a virtual machine in executing all languages. 
              All .NET languages must obey the rules and standards imposed by CLR.

              Examples:
             Object declaration, creation and use
             Data types,language libraries
             Error and exception handling
             Interactive Development Environment (IDE)

              Development
             Mixed language applications
              Common Language Specification (CLS)
              Common Type System (CTS)
              Standard class framework
              Automatic memory management
             Consistent error handling and safer execution
             Potentially multi-platform

              Deployment  
             Removal of registration dependency
             Safety – fewer versioning problems

    Common Language Runtime - Multiple Language Support

              CTS is a rich type system built into the CLR
             Implements various types (int, double, etc)
             And operations on those types
              CLS is a set of specifications that language and library designers need to follow
             This will ensure interoperability between languages


      
    Compilation in .NET



         •    NET languages are not compiled to machine code.  They are compiled to an Intermediate Language (IL).
              CLR accepts the IL code and recompiles it to machine code.  The recompilation is just-in-time (JIT) meaning it is done as soon as a function or subroutine is called.
              The JIT code stays in memory for subsequent calls.  In cases where there is not enough memory it is discarded thus making JIT process interpretive.
    Languages:
              Languages provided by MS
             VB, C++, C#, J#, JScript
              Third-parties are building
             APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk…


    ASP.NET

              ASP.NET,the platform services that allow to program Web Applications and Web Services in any .NET language
              ASP.NET Uses .NET languages to generate HTML pages. HTML page is targeted to the capabilities of the requesting Browser.
    ASP.NET “Program” is compiled into a .NET class and cached the first time it is called.  All subsequent calls use the cached version.
              Logical Evolution of ASP
              Supports multiple languages
              Improved performance
              Control-based, event-driven execution model
              More productive
              Cleanly encapsulated functionality


    ASP.NET Web Forms

              Allows clean cut code
             Code-behind Web Forms
              Easier for tools to generate
              Code within is compiled then executed
              Improved handling of state information
              Support for ASP.NET server controls
             Data validation
             Data bound grids
              A technical definition
             “A programmable application component accessible via standard Web protocols”
              Web Services
              It is just an application…
              …that exposes its features and capabilities over the network…
              …using XML…
              …to allow for the creation of powerful new applications that are more than the sum of their parts…

    ADO.NET (Data and XML)

              New objects (e.g., DataSets)
              Separates connected / disconnected issues
              Language neutral data access
              Uses same types as CLR
              Great support for XML
    Visual Studio.NET
              Development tool that contains a rich set of productivity and debugging features



    .NET – Hierarchy, Another View