Introduction to Web Programming


In this module, you will learn about Internet applications and the tools you use to create them.

This module introduces you to the concepts and terms used throughout this course, including how Web applications work, the parts of a Web application, how the Microsoft .NET Framework is organized, and how to use the Microsoft Visual Studio .NET programming environment.

Estimated lesson time: 55 minutes
Estimated lab time: 30 minutes

Goal:
– Describe four different types of Internet applications and know where to look for training on developing each type of application
– Explain how a Web application executes over the Internet and how that differs from a traditional, static Web site
– Understand the role that ASP.NET plays in creating Web applications
– List the parts that make up ASP.NET and describe some of its advantages over other Web application technologies, such as the Common Gateway Interface (CGI)

What Can You Create?

Web applications.

These provide content from a server to client machines over the Internet. Users view the Web application through a Web browser, such as Microsoft Internet Explorer or Netscape Navigator.

Web services.
These components provide processing services from a server to other applications over the Internet.
Internet-enabled applications.
These are stand-alone applications that incorporate aspects of the Internet to provide online registration, Help, updates, or other services to the user over the Internet.
Peer-to-peer applications.
These are stand-alone applications that use the Internet to communicate with other users running their own instances of the application.
This course Next Course Next Course Next Course

How Web Applications Work


Web applications use a client/server architecture. The Web application resides on a server and responds to requests from multiple clients over the Internet, as shown in the figure below .

cli_srv


On the client side, the Web application is hosted by a browser, such as Internet Explorer or Netscape Navigator. The application’ s user interface takes the form of Hypertext Markup Language (HTML) pages that are interpreted and displayed by the client’ s browser.

On the server side, the Web application runs under Microsoft Internet Information Services (IIS). IIS manages the application, passes requests from clients to the application, and returns the application’ s responses to the client. These requests and responses are passed across the Internet using Hypertext Transport Protocol (HTTP). A protocol is a set of rules that describe how two or more items communicate over a medium, such as the Internet

The Web application composes responses to requests from resources found on the server. These resources include the executable code running on the server (what we traditionally think of as the “application” in Microsoft Windows programming), Web Forms, HTML pages, image files, and other media that make up the content of the application.

Web applications are much like traditional Web sites, except that the content presented to the user is actually composed dynamically by executable, rather than being served from a static page stored on the server.

The executable portion of the Web application enables you to do many things that you cannot do with a static Web site, such as:

  • Collect information from the user and store that information on the server.
  • Perform tasks for the user such as placing an order for a product, performing complex calculations, or retrieving information from a database.
  • Identify a specific user and present an interface that is customized for him or her.
  • Present content that is highly volatile, such as inventory, pending order, and shipment information.

This is only a partial list. Basically, you can do anything with a Web application that you can imagine doing with any client/server application. What makes a Web application special is that the client/server interaction takes place over the Internet.

What ASP.NET Provides

ASP.NET is the platform that you use to create Web applications and Web services that run under IIS. ASP.NET is not the only way to create a Web application. Other technologies, notably the CGI, also enable you to create Web applications. What makes ASP.NET special is how tightly it is integrated with the Microsoft server, programming, data access, and security tools.

ASP.NET provides a high level of consistency across Web application development. In a way, it is similar to the level of consistency that Microsoft Office brought to desktop applications. ASP.NET is part of the .NET Framework and is made up of several different components.

  • Visual Studio .NET Web development tools. These include visual tools for designing Web pages and application templates, project management, and deployment tools for Web applications.
  • The System.Web namespaces. These are part of the .NET Framework, and include the programming classes that deal with Web-specific items such as HTTP requests and responses, browsers, and e-mail.
  • Server and HTML controls. These are the user-interface components that you use to gather information from and provide responses to users.
  • In addition to the preceding components, ASP.NET also uses the following, more general programming components and Windows tools. These items aren’ t part of ASP.NET. However, they are key to ASP.NET programming.
  • Microsoft Internet Information Services (IIS). As mentioned in the previous section, IIS hosts Web applications on the Windows server.
  • The Microsoft Visual Basic .NET, Microsoft Visual C#, and JScript programming languages. These three languages have integrated support in Visual Studio .NET for creating Web applications.
  • The .NET Framework. This is the complete set of Windows programming classes; they include the ASP.NET classes as well as classes for other programming tasks such as file access, data type conversion, array and string manipulation, and so on.
  • ADO.NET database classes and tools. These components provide access to Microsoft SQL Server and ODBC databases. Data access is often a key component of Web applications.
  • Microsoft Application Center Test (ACT). This Visual Studio .NET component provides an automated way to stress-test Web applications.

ASP.NET is the most complete platform for developing Web applications that run under IIS. However, it is important to remember that ASP.NET is not platform-independent. Because it is hosted under IIS, ASP.NET must run on Windows servers. To create Web applications that run on non-Windows/IIS servers, such as Linux/Apache, you must use other tools—generally CGI.

 

Advantages of ASP.NET


ASP.NET has many advantages over other platforms when it comes to creating Web applications. Probably the most significant advantage is its integration with the Windows server and programming tools. Web applications created with ASP.NET are easier to create, debug, and deploy because those tasks can all be performed within a single development environment—Visual Studio .NET.

ASP.NET delivers the following other advantages to Web application developers:

  • Executable portions of a Web application compiled so they execute more quickly than interpreted scripts
  • On-the-fly updates of deployed Web applications without restarting the server
  • Access to the .NET Framework, which extends the Windows API
  • Use of the widely known Visual Basic programming language, which has been enhanced to fully support object-oriented programming
  • Introduction of the new Visual C# programming language, which provides a type-safe, object-oriented version of the C programming language (we will be focusing on VB.NET and not enter in this section further)
  • Automatic state management for controls on a Web page (called server controls) so that they behave much more like Windows controls
  • The ability to create new, customized server controls from existing controls
  • Built-in security through the Windows server or through other authentication/authorization methods
  • Integration with Microsoft ADO.NET to provide database access and database design tools from within Visual Studio .NET
  • Full support for Extensible Markup Language (XML), cascading style sheets (CSS), and other new and established Web standards
  • Built-in features for caching frequently requested Web pages on the server, localizing content for specific languages and cultures, and detecting browser capabilities

 

Lesson 2: Using ASP.NET

In this lesson, you will learn how ASP.NET organizes a Web application into parts, and you will learn the roles and names of those parts. You will be introduced to Web Forms, which are the central user-interface element of Web applications.

ASP.NET is part of the larger .NET Framework, so this lesson will also discuss how the .NET Framework is organized and how .NET applications run differently from the traditional Windows applications you might be used to.

Finally, this lesson ends with a discussion of the programming languages you can use to create Web applications. ASP.NET is not bound to any one programming language, and the end of this lesson lists some of the other available languages and explains some of the major differences between the two languages (Visual Basic .NET and Visual C#).

Goal:

  • List the parts of a Web application and describe how they run on the server
  • Explain how a Web form differs from and is similar to both an HTML page and a Windows form
  • Describe some of the different components you can place on a Web form
  • Explain the parts of the .NET Framework and how the common language run­time (CLR) executes .NET applications
  • Understand how the .NET Framework is organized and know where to look for classes that handle common application programming tasks
  • Compare the Visual Basic .NET and Visual C# programming languages

Parts of a Web Application

A Web application consists of three parts: content, program logic, and Web configuration information.

Parts of an ASP.NET Web Application

Part

Types of files

Description

Content

Web Forms, HTML, images, audio, video, other data

Content files determine the appearance of a Web application. They can contain static text and images as well as elements that are composed on the fly by the program logic (as in the case of a database query).

Program logic

Executable files, scripts

The program logic determines how the application responds to user actions. ASP.NET Web applications have a dynamic-link library (DLL) file that runs on the server, and they can also include scripts that run on the client machine.

Configuration

Web configuration file, Style sheets, IIS settings

The configuration files and settings determine how the application runs on the server, who has access, how errors are handled, and other details.

The Web form is the key element of a Web application. A Web form is a cross between a regular HTML page and a Windows form: It has the same appearance and similar behavior to an HTML page, but it also has controls that respond to events and run code, like a Windows form.

In a completed Web application, the executable portion of the Web form is stored in an executable (.dll) that runs on the server under the control of IIS. The content portion of the Web form resides in a content directory of the Web server

When a user navigates to one of the Web Forms pages from his or her browser, the following sequence occurs:

  1. IIS starts the Web application’ s executable if it is not already running.

  2. The executable composes a response to the user based on the content of the Web Forms page that the user requested and any program logic that provides dynamic content.

  3. IIS returns the response to the user in the form of HTML.

Once the user gets the requested Web form, he or she can enter data, select options, click buttons, and use any other controls that appear on the page. Some controls, such as buttons, cause the page to be posted back to the server for event processing and the sequence repeats itself

This cycle of events is described in greater detail in Lesson 2, “Creating Web Forms Applications.”

Web Form Components

Web Forms can contain several different types of components, as summarized below.

Components on a Web Form

Component

Examples

Description

Server controls

TextBox, Label, Button, ListBox, DropDownList, DataGrid

These controls respond to user events by running event procedures on the server. Server controls have built-in features for saving data that the user enters between page displays. You use server controls to define the user interface of a Web form.

HTML controls

Text area, Table, Image,
Submit Button, Reset Button

These represent the standard visual elements provided in HTML. HTML controls are useful when the more complete feature set provided by server controls is not needed.

Data controls

SqlConnection, SqlCommand, OleDbConnection,
OleDbCommand, DataSet

Data controls provide a way to connect to, perform commands on, and retrieve data from SQL and OLE databases and XML data files.

System components

FileSystemWatcher, EventLog, MessageQueue

These components provide access to various system-level events that occur on the server.

You use the server and HTML controls to create the user interface on a Web form. The data controls and system components appear on the Web form only at design time to provide a visual way for you to set their properties and handle their events.
At run time, data controls and system components do not have a visual representation.

image_controls

The .NET Framework

ASP.NET is an important part of the .NET Framework, but it is just one part. Understanding what else the .NET Framework provides will help you program your ASP.NET application effectively and avoid writing new code to perform tasks that are already implemented within the .NET Framework.

First, a little background. The .NET Framework is the new Microsoft programming platform for developing Windows and Web software. It is made up of two parts:

  • An execution engine called the common language runtime (CLR)

  • A class library that provides core programming functions, such as those formerly available only through the Windows API, and application-level functions used for Web development (ASP.NET), data access (ADO.NET), security, and remote management

.NET applications aren’ t executed the same way as the traditional Windows applications you might be used to creating. Instead of being compiled into an executable containing native code, .NET application code is compiled into Microsoft intermediate language (MSIL) and stored in a file called an assembly. At run time, the assembly is compiled to its final state by the CLR. While running, the CLR provides memory management, type-safety checks, and other run-time tasks for the application.

Applications that run under the CLR are called managed code because the CLR takes care of many of the tasks that would have formerly been handled in the application’ s executable itself. Managed code solves the Windows programming problems of component registration and versioning (sometimes called DLL Hell) because the assembly contains all the versioning and type information that the CLR needs to run the application. The CLR handles registration dynamically at run time, rather than statically through the system registry as is done with applications based on the Common Object Model (COM).

The .NET class library provides access to all the features of the CLR. The .NET class library is organized into namespaces. Each namespace contains a functionally related group of classes. Table 1-4 summarizes the .NET namespaces that are of the most interest to Web application programmers.

A Summary of the .NET Framework Class Library

Category

Namespaces

Provides classes for

Common types

System

All the common data types, including strings, arrays, and numeric types. These classes include methods for converting types, for manipulating strings and arrays, and for math and random number tasks.

Data access

System.Data, System.Data.Common, System.Data.OleDb,
System.Data.SqlClient,
System.Data.SqlTypes

Accessing databases. These classes include methods for connecting to databases, performing commands, retrieving data, and modifying data.

Debugging

System.Diagnostics

Debugging and tracing application execution.

File access

System.IO, System.IO.IsolatedStorage, System.DirectoryServices

Accessing the file system. These include methods for reading and writing files and getting paths and filenames.

Network communication

System.Net, System.Net.Sockets

Communicating over the Internet using low-level protocols such as TCP/IP. These classes are used when creating peer-to-peer applications.

Security

System.Security,
System.Security.Cryptography, System.Security.Permissions, System.Security.Policy, System.Web.Security

Providing user authentication, user authorization, and data encrypting.

Web applications

System.Web, System.Web.Caching, System.Web.Configuration, System.Web.Hosting, System.Web.Mail,
System.Web.SessionState
, System.Web.UI, System.Web.UI.Design, System.Web.UI.WebControls, System.Web.UI.HtmlControls

Creating client-server applications that run over the Internet. These are the core classes used to create ASP.NET Web applications.

Web services

System.Web.Services, System.Web.Services.Configuration, System.Web.Services.Description,
System.Web.Services.Discovery,
System.Web.Services.Protocols

Creating and publishing components that can be used over the Internet. These are the core classes used to create ASP.NET Web services.

Windows applications

System.Windows.Forms, System.Windows.Forms.Design

Creating applications using the Microsoft Windows user interface components. These classes provide Windows forms and controls as well as the ability to create custom controls.

XML data

System.Xml, System.Xml.Schema, System.Xml.Serialization, System.Xml.Xpath, System.Xml.Xsl

Creating and accessing XML files.

Since the .NET namespaces organize classes by function, you can use them to help locate the classes and class members that provide the CLR features you want to use. For example, the System namespace is one of the most commonly used namespaces because it contains the classes for all the fundamental data types. Any time you declare a variable with a numeric, string, or array type, you are using the System namespace.

This approach allows the .NET Framework to provide built-in methods for converting data types and manipulating strings and arrays. For instance, the following lines of code use the built-in methods of the String and Array classes to sort a list.

Visual Basic .NET
' Declare and initialize a string.
Dim strFruit As String = "oranges apples peaches kumquats nectarines mangos"
' Declare an array.
Dim arrFruit As String()
' Place each word in an array element
arrFruit = strFruit.Split(" ")
' Sort the array.
System.Array.Sort(arrFruit)
' Put the sorted data back in the string.
strFruit = String.Join(" ", arrFruit)
Visual C#
// Declare and initialize a string.
string strFruit = "oranges apples peaches kumquats nectarines mangos";
// Declare an array
string[] arrFruit;
// Place each word in an array element.
arrFruit = strFruit.Split(" ".ToCharArray());
// Sort the array.
System.Array.Sort(arrFruit);
// Put the sorted array back in the string.
strFruit = System.String.Join(" ", arrFruit);

Many of the class methods in the System namespace can be used directly without first creating an object from the class. These are called shared members in Visual Basic .NET and static members in Visual C#. Shared and static members can be called from the class name itself, as in the System.Array.Sort line in the preceding code. Another example of a class with shared/static members is the Math class, as shown by the following Pi and Pow methods:

Visual Basic .NET
' Get the area of a circle.
dblCircArea = System.Math.Pi * System.Math.Pow(intRadius, 2)
Visual C#
// Get the area of a circle.
dblCircArea = System.Math.PI * System.Math.Pow(intRadius, 2);

The .NET Framework provides about 100 different namespaces. Only about 40 of the most common ones are summarized in Table 1-4. For a complete list of the .NET Framework namespaces, see the topic titled “Class Library” in the Visual Studio .NET online Help.

Programming Languages

ASP.NET and, indeed, the whole .NET Framework are programming language–independent. That means you can choose any language that has implemented a CLR-compliant compiler. In addition to developing its own programming languages, Microsoft has formed partnerships with many language vendors to provide .NET support for Perl, Pascal, Eiffel, Cobol, Python, Smalltalk, and other programming languages.

This book covers creating Web applications with the Visual Basic .NET and the Visual C# programming languages. These two languages are functionally equivalent, which means that they each provide equal abilities to create Web applications. The differences between the two languages are syntactical and stylistic.

Most current programmers will choose the language they are most familiar with. Current Visual Basic programmers will be more comfortable developing Web applications in Visual Basic .NET; C or C++ programmers will be more comfortable developing with Visual C#.

If you are new to programming or if you are choosing to extend your programming skills to new languages, learning both Visual Basic .NET and Visual C# is a practical goal. This is especially true when you create Web applications, since most of the tasks are performed through the .NET Framework classes, which means Visual Basic .NET code and Visual C# code often look nearly identical.

Table 1-5 summarizes some significant differences between Visual Basic .NET and Visual C#. This information is useful to keep in mind if you are choosing a programming language for the first time or if you are planning to switch between languages.

Visual Basic .NET and Visual C# Differences

Feature

Visual Basic .NET

Visual C# .NET

Case sensitive

Not case sensitive:

response.write("Yo") ' OK

Case sensitive:

response.write("Yo"); // Error Response.Write("Yo"); // OK

Functional blocks

Use beginning and ending statements to declare functional blocks of code:

Sub Show(strX as String)
  Response.Write(strX)
End Sub

Use braces to declare functional blocks of code:

void Show (string strX)
{
Response.Write(strX);
}

Type conversion

Implicit type conversions are permitted by default:

Dim intX As Integer
intX = 3.14  ' Permitted

You can limit conversions by including an Option Strict On statement at the beginning of modules.

Type conversions are performed explicitly by casts:

int intX;
intX = 3.14; // Error!
intX = (int)3.14; //Cast, OK.

Or, use type conversion methods:

string strX;
strX = intX.ToString();

Arrays

Array elements are specified using
parentheses:

arrFruit(1) = "Apple"

Array elements are specified using square brackets:

arrFruit[1] = "Apple";

Methods

You can omit parentheses after method names if arguments are omitted:

strX = objX.ToString

You must include parentheses after all methods:

strX = objX.ToString();

Statement
termination

Statements are terminated by carriage return:

Response.Write("Hello")

Statements are terminated by the semicolon (;):

Response.Write("Hello");

Statement
continuation

Statements are continued using the underscore (_):

intX = System.Math.Pi * _
  intRadius

Statements continue until the semicolon (;) and can span multiple lines if needed:

intX = System.Math.PI * 
  intRadius;

String operator

Use the ampersand (&) or plus sign (+) to join strings:

strFruit = "Apples" & _
  " Oranges"

Use the plus sign (+) to join strings:

strFruit = "Apples" + 
  " Oranges";

Comparison
operators

Use =, >, <, >=, <=, <> to compare values:

If intX >= 5 Then

Use ==, >, <, >=, <=, != to compare values:

if (intX >= 5)

Negation

Use the Not keyword to express logical negation:

If Not IsPostBack Then

Use the ! operator to express logical negation:

if (!IsPostBack)

Object comparison

Use the Is keyword to compare object
variables:

If objX Is objY Then

Use == to compare object variables:

if (objX == objY)

Object existence

Use the Nothing keyword or the IsNothing function to check if an object exists:

If IsNothing(objX) Then

Use the null keyword to check if an object exists:

if (objX == null)

In addition to the differences shown, there are significant keyword differences between the two languages. The code examples throughout this book illustrate those differences. The Visual Studio .NET Help topic “Language Equivalents” provides a complete comparison of Visual Basic .NET, Visual C#, and other Microsoft languages.

 

 

Using Visual Studio .NET

The Visual Studio .NET programming environment presents new window types, new ways to manage those windows, and new integration with Internet content. This lesson offers a tour of these new features as well as an overview of some of the older Visual Studio .NET debugging and Help features presented from a Web application–programming viewpoint.

After this section, you will be able to

  • Use the Start page to open new or existing projects, get current product information, and set environment preferences
  • List the two different Visual Studio .NET window types and use the Auto Hide feature to make the most out of screen space for editing documents
  • Cut and paste items using the Clipboard Ring on the Toolbox
  • Edit Web forms and HTML pages visually or in HTML
  • Write code using the Code Editor’ s automated features and modify Visual Studio .NET settings to turn those features on or off
  • Build, run, and debug applications using Visual Studio .NET
  • Get Help and set Help filters for your preferred programming language

The Start Page


When you start Visual Studio .NET, the first thing you see is the Start page, as shown in the image below.
The Start page contains various panes to make information easier to find and to help simplify some common tasks, such as opening a recent file.

startpage


The Projects pane, shown on the left hand side, displays the most recently saved projects in the form of hyperlinks. To open one of these recent projects, click the project name. To create a new project or to open an existing project not displayed in the recent projects list, click the appropriate button on the Projects pane (top area).

To the left of the Start page is a list of other topics containing current information about Visual Studio .NET, other Microsoft products, programming, guidance, and other information. If you click one of these topics, the Start page displays the topic, as shown in figure below.

startpane


The information displayed in the Start page is dynamic, with much of the information coming from the Internet. This ensures that the information is current; it’ s a good idea to check the Headlines and Downloads panes occasionally to get the latest news.

Creating a New Project


Click on the “New Project” Link in the start page. A pop-up will appear asking you what type of project you would like to start.

projects


Select from the left pane Visual Basic>Web and from the middle list “ASP.NET Web Application”.

At the bottom, type in your project name (make sure it does not contain any spaces or invalid characters like “$”, “^”, “%”, “” or “/”.

Choose the location where you would like your project to be saved. By default, it will go into your Documents Folder Visual Studio 2010Projects.
The solution is the entity which can hold one or more projects. If you are building a DLL and you would like to create an installer for it, you would create two projects which belong to the same solution.

For starting, the solution will be named the same as the application and it is recommended that you keep the .sln file (the file extension for solutions is .sln) outside the build directory.

For this, make sure you tick “Create Directory for Solution” tickbox.

Leave the “Add to Source control” unticked as we will be working without a Source Safe Server.

Press OK when done.

Visual Studio .NET Windows


Visual Studio .NET has two types of windows: Document windows and Tool windows.
Document windows display the content of your application: the forms, Web pages, and code all appear in Document windows.
You can have multiple Document windows open at once, and you can choose between them by clicking their tabs near the top of
the screen, as shown below.

projects


The Tool windows display the components you use to create your application. These components include the controls, database connections, classes, and properties you use in the project. Tool windows are displayed to the left and right of the Document windows and they can be set to slide in or out of view by clicking their tabs.

To cause a tabbed Tool window to remain on screen, toggle the Auto Hide icon at the top right of the Tool window. The Auto Hide icon looks like a tiny pushpin. Click the pushpin again to cause the Tool window to return to tabbed display. You can use the tabbed display to hide the Tool windows on both sides of the Document window and provide more space for editing your application’ s content

page2


The Visual Studio .NET Toolbox displays the controls and components you can add to a Document window. The contents of the Toolbox change depending on the type of document you are currently editing. When you are editing a Web form, for example, the Toolbox displays the server controls, HTML controls, data controls, and other components that you can add to a Web form, as shown

toolbox The components in the Toolbox are categorized. When you click one of the categories, the Toolbox displays the items in that category. You can scroll through the items in the Toolbox by clicking the up and down arrows at the top and the bottom of the component list.

One helpful feature is that you can hold your mouse pointer over a control and it will pop up a help message that talks about it a bit. Here you can see that a ComboBox “displays an editable text box with a drop-down list of permitted values.” Try this with some controls that don’t sound familiar. There are some controls that you might never use, but explore what’s there and you might find something new that makes things easier for you.

When the current document is code, the Toolbox contains only the Clipboard Ring. The Clipboard Ring keeps track of the last 20 items you have copied (Ctrl+C) or cut (Ctrl+X) so that you can paste them back into a document.
To paste an item from the Clipboard Ring, click the item and drag it to where you want to insert it.

When you move the mouse pointer over an item in the Clipboard Ring, Visual Studio expands that item to show you more of the text it contains.

 

Editing Web Documents


You can edit Web forms and HTML documents visually by using the same drag-and-drop techniques that you use when editing Windows forms, or you can edit them as text files. To switch between edit modes, click the Design or HTML tabs at the bottom of the Document window.

There is no way to do some tasks visually, so you will often need to edit Web documents as text. Using the HTML mode can also be more convenient than using the visual tools if you are already familiar with HTML. The IntelliSense technology in Visual Studio .NET provides help for completing HTML elements.

You can switch back to Design mode to preview any changes you make in HTML mode simply by clicking on the Design tab at the bottom of the Document window.


splitpage


Web Forms pages have code-behind files associated with them. These files are created automatically when you create a new Web form.

They have the same base name as the Web form with the .vb or .cs filename extension added. You can view them by pressing F7 or right clicking on the .aspx file and choosing Show Code as shown below.

view_code


The Visual Studio .NET Code Editor also provides completion through IntelliSense for keywords and class members that you use in code

If you are programming in Visual Basic, the autocomplete feature will also correct the capitalization of keywords and member names when you complete a line. If you are using Visual C#, however, Visual Studio .NET will not recognize a keyword or member name if it is not capitalized correctly. This is because Visual Basic .NET is not case sensitive, but Visual C# is.

The Visual Studio .NET Code Editor highlights syntax errors and undeclared variables as you complete each line. These errors are underlined with a squiggly line, and if you move the mouse pointer over the error, a description of the error is displayed

You can turn most of the Code Editor’ s automatic features on or off by changing the settings in the Tools>Options settings.You can also use the Options dialog box to change automatic indentation, code block completion, and other language-specific settings.

The Solution Explorer


Visual Studio .NET organizes applications into projects and solutions. A project is a collection of files that will ultimately make up a single executable. A solution is a group of projects that make up a single functional unit. You view the files in a solution by using the Solution Explorer.

solution_explorer
The project shown in bold is the start-up project. The start-up project is the project that runs when you click Start in Visual Studio .NET. When you’ re developing multiple projects as part of a single solution, the start-up project usually calls the other projects in the solution.
Information about a solution is stored in a solution file (.sln), which is placed in your My Documents folder by default. You can open the solution using this file, or you can open projects directly using their project files (.vbproj or .csproj), which are placed in the project folders. If you open a project file, Visual Studio .NET creates a new solution file when you save the project.

Running a Project


You can run a project within Visual Studio .NET by clicking Start on the toolbar, by choosing Start from the Debug menu, or by pressing F5. When you run a project, Visual Studio .NET builds the project files and displays any errors that occur in the Task List window.
The same error list appears when you decide to compile/deploy your project by pressing Build/Build[Applicationname] from the menu.

Double-clicking the error description in the Task List selects the line with the error in the Document window so that you can correct the error.

pagebuild


If no errors occur during the build, Visual Studio .NET starts the application in debug mode and, in the case of a Web application, starts Internet Explorer, and displays the application’ s start page.

If an error occurs while the application is running in debug mode, Visual Studio .NET displays the error in the browser.

You have two choices at this point:

If you know what caused the error, you can stop the application by closing the browser window to return to Visual Studio .NET and correct the error shown.

If you are unsure of what caused the error, you can click Back in the browser, switch to Visual Studio .NET to set a breakpoint at a position in the code before the error occurred, and then switch back to the browser to try the task again. Visual Studio .NET will stop the application at the breakpoint you set so that you can step through the code to locate the source of the error.

Once you locate the error, you must stop the application before you can correct it. In previous versions of Visual Studio .NET, you could correct errors in debug mode and continue running the application.

 

Setting Breakpoints and Watching Variables


You can stop a project at a particular line of code by setting a breakpoint. When Visual Studio .NET runs the project, Visual Studio .NET will stop the project and display the line with the breakpoint in the Code Editor before that line executes.

To set a breakpoint, click the gray margin to the left of the line you want to break at, or select the line and press F9

pagebuild


Once Visual Studio .NET stops at a breakpoint, you can view the value of active variables by moving the mouse pointer over the variable. If the variable is a complex type, such as an object or an array, you can view its data by adding it to the Watch window below.

After you have stopped at a breakpoint, you can continue running your application by clicking Continue on the toolbar or by pressing F5. Alternately, you can execute one line at a time by pressing F10 or F11.

F10 executes each procedure call as a single statement. In other words, it steps over a procedure by executing it and stopping at the next line in the current procedure. F11 executes procedure calls by stepping in to the procedure and stopping at the first line in the called procedure. To execute a single line of code outside of the context of the project, type the code in the Command window.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s