Questions and Answers
Chapter 1:Introduction to Web Programming
1. Give three examples of how an ASP.NET Web application is different from a traditional Windows application.
Web applications and traditional Windows applications have the following differences:
ASP.NET Web application
Unmanaged Windows application
Runs under common language runtime using managed code.
Runs under Windows using unmanaged code.
User interface is displayed in an Internet browser using Web Forms.
User interface is displayed by the application using the Win32 API.
2. What are the two main parts of the .NET Framework?
o The common language runtime
o The .NET Framework class library
3. How do you restore the default window settings in Visual Studio .NET?
From the Tools menu, choose Options and then click Reset Window Layout.
4. Why doesn' t the Visual Studio .NET Code Editor automatically complete the following partial line of code (Visual C# users only)?
int intX = system.math
The namespace System.Math must be capitalized in Visual C# for IntelliSense to recognize the namespace.
5. When can' t you use ASP.NET to create a Web application?
When you are developing for non-Microsoft Windows Web servers, such as Linux/Apache.
Chapter 2:Creating Web Forms Applications
1. Explain where Visual Studio .NET stores Web application projects.
Web application projects are stored in a new virtual folder for each project. The properties of that virtual folder determine where the files are physically stored. These properties can be viewed in IIS.
2. List the four major differences between Web and Windows applications.
o Web forms cannot use the standard Windows controls. Instead, they use server controls, HTML controls, user controls, or custom controls created specially for Web forms.
o Web applications are displayed in a browser. Windows applications display their own windows and have more control over how those windows are displayed.
o Web forms are instantiated on the server, sent to the browser, and destroyed immediately. Windows forms are instantiated, exist for as long as needed, and are destroyed.
o Web applications run on a server and are displayed remotely on clients. Windows applications run on the same machine they are displayed on.
3. Describe the life cycle of a Web application: When are Web forms instantiated and how long do they exist?
A Web application starts with the first request for a resource within the application' s boundaries. Web forms are instantiated when they are requested. They are processed by the server and are abandoned immediately after the server sends its response to the client. A Web application ends after all client sessions end.
4. How do you preserve persistent data, such as simple variables, in a Web application?
You can preserve data in state variables, such as ApplicationState, SessionState, or ViewState.
5. What determines the boundaries of a Web application?
IIS determines Web application boundaries by the structure of the application' s virtual folders. A Web application boundary starts in the folder containing the start page of the application and it ends at the last subordinate folder or when it encounters another start page in a subordinate folder.
Chapter 3:Working with Web Objects
1. How does the .NET Framework organize its classes?
The .NET Framework uses namespaces to organize its classes.
2. In Visual Basic .NET, what is difference between a class module and a code module?
Class modules are instantiated at run time to create objects that provide separate storage for variables and properties in each instance. Code modules do not have instances, so any module-level variables they use are shared among calls to the module' s procedures.
3. In Visual C#, how do you declare a method to make it available without having to first instantiate an object from the class?
To create a method that can be called without instantiating an object, declare that method as static.
4. How do you call a member of a base class from within a derived class?
To refer to a member of a base class in Visual Basic .NET, use the MyBase keyword. To refer to a member of a base class in Visual C#, use the base keyword.
5. What are the four main objects used in Web application programming?
The four main objects in Web application programming are the Application, Page, Request, and Response objects.
6. Where would you save the following data items so that they persist between requests to a Web form?
o A control created at run time
Save controls created at run time in the Page object' s ViewState.
o An object that provides services to all users
Save objects that provide services to all users in the Application state.
o User preferences
Save user preferences in SessionState.
Chapter 4: Creating a User Interface
1. What is the main difference between the Button server control and the Button HTML control?
When clicked, the Button server control triggers an ASP.NET Click event procedure on the server. The Button HTML control triggers the event procedure indicated in the button' s onclick attribute, which runs on the client.
2. How do you get several RadioButton controls to interoperate on a Web form so that only one of the RadioButtons can be selected at once?
Set the GroupName property of each RadioButton to the same name.
3. Why does ASP.NET perform validation on both the client and the server?
Client-side validation helps avoid round trips to the server. Validating on the client makes sure that the data is valid before it is submitted, in most cases. However, because validation might be turned off (or maliciously hacked) on the client, data must be revalidated on the server side. This provides full assurance that the data is valid while avoiding as many round trips as possible.
4. What types of validation would you use to verify that a user entered a valid customer number?
You would use a RequiredFieldValidator and a RegularExpressionValidator. If you have access to a list of expected customer numbers, you could replace the RegularExpressionValidator with a CustomValidator that checked the list.
5. What is wrong with the following line of code?
Visual Basic .NET
You can' t use the Transfer method with HTML pages. It works only with .aspx pages.
6. Why can' t you open a new browser window from within server code?
Server code executes on the server, whereas the new window is created on the client. You need to use client-side code to do things that affect the client, such as upload files, display new windows, or navigate back in history.
Chapter 5: Storing and Retrieving Data with ADO.NET
1. What steps would you follow and what objects would you use to quickly find the number of records in a database table?
There are two ways to accomplish this task:
o Use a database connection and a command object to execute a SQL command that returns the number of rows in the table.
o Use a database connection and data adapter object to create a data set for the table, and then get the number rows in the data set.
2. How do typed data sets differ from untyped data sets, and what are the advantages of typed data sets?
Typed data sets use explicit names and data types for their members, whereas untyped data sets use collections to refer to their members. The following examples show a typed reference vs. an untyped reference to a data item:
Visual Basic .NET
' Typed reference to the Contacts table's HomePhone column.
DataSet1.Contacts.HomePhoneColumn.Caption = "@Home"
' Untyped reference to the Contacts table's HomePhone column.
DataSet1.Tables("Contacts").Columns("HomePhone").Caption = "@Home"
// Typed reference to the Contacts table's HomePhone column.
DataSet1.Contacts.HomePhoneColumn.Caption = "@Home";
// Untyped reference to the Contacts table's HomePhone column.
DataSet1.Tables["Contacts"].Columns["HomePhone"].Caption = "@Home";
Typed data sets do error checking at design time. This error checking helps catch typos and type mismatch errors, which would be detected only at run time with untyped data sets.
3. How do you reuse a database connection component throughout a Web application?
Add the database connection component to the Global.asax file, then create a state variable in the Application_Start or Session_Start event procedures to share the connection with the Web forms in the application.
4. Explain the difference between handling transactions at the data set level and at the database level.
Data sets provide implicit transactions, since changes to the data set aren' t made permanent in the database until you call the Update method. To handle transactions in a data set, process the Update method and check for errors. If errors occur during Update, none of the changes from the data set is made in the database. You can try to correct the error and resubmit the update, or you can roll back the changes to the data set using the RejectChanges method.
Databases provide explicit transactions through the Transaction object. You create a Transaction object from a database connection, and then assign that Transaction object to the commands you want to include in the transaction through the command object' s Transaction property. As you perform the commands on the database, you check for errors. If errors occur, you can either try to correct them and resubmit the command, or you can restore the state of the database using the Transaction object' s RollBack method. If no errors occur, you can make the changes permanent by calling the transaction object' s Commit method.
Chapter 6: Catching and Correcting Errors
1. Explain why exception handling is important to a completed application.
When an unhandled exception occurs in an application, the application stops—the user can' t proceed, and any work he or she did immediately prior to the exception is lost. Exception handling provides a way to intercept and correct unusual occurrences that would otherwise cause these problems.
2. List two different exception-handling approaches in ASP.NET Web applications.
Exceptions can be handled in exception-handling blocks using the Try, Catch, and Finally keywords in Visual Basic .NET or the try, catch, and finally keywords in Visual C#. They can also be handled using Error event procedures at the Global, Application, or Page levels using the Server object' s GetLastError and ClearError methods.
3. Describe the purpose of error pages and why they are needed.
Because Web applications run over the Internet, some exceptions occur outside the scope of the application. This means that your application cannot respond directly to these exceptions. These types of exceptions are identified by HTTP response codes, which IIS can respond to by displaying custom error pages listed in your application' s Web.config file.
4. Explain why tracing helps with exception handling.
Tracing allows you to record unusual events while your application is running, without users being aware of it. If an unanticipated exception occurs, your application can write a message to the trace log, which helps you diagnose problems during testing and after deployment.
Chapter 7: Advanced Web Forms Programming
1. Write the HTML for a hyperlink that will send mail when the user clicks the link.
2. <a href="mailto:firstname.lastname@example.org?SUBJECT=Sending from a client&BODY=Some
message text.">Send mail</a>
3. Show the code that writes a cookie containing the user name “Rob Young” and the current date to the user' s computer. Set the cookie to remain on the user' s computer for 30 days.
Visual Basic .NET
Dim cookUserInfo As New HttpCookie("UserInfo")
cookUserInfo("Name") = "Rob Young"
cookUserInfo("Time") = DateTime.Now.ToString()
cookUserInfo.Expires = DateTime.Now.AddDays(30)
HttpCookie cookUserInfo = new HttpCookie("UserInfo")
CookUserInfo["Name"] = "Rob Young"
CookUserInfo["Time"] = DateTime.Now.ToString()
cookUserInfo.Expires = DateTime.Now.AddDays(30)
4. Why can' t you open a new browser window using server-side code? How would you display a page in a new window with a client-side script?
Server-side code can execute tasks only on the server. To perform a task on the client' s computer, such as opening a new browser window, the code needs to run on the client.
You can open a new window using the DOM window object. For example, the following HTML Button control opens a Help page in a new window:
onclick="window.open('help.aspx', 'help', 'height=200,width=300')">Help</
5. How do you display a page in one frame from a hyperlink in another frame?
Use the <a> element' s target attribute to specify the frame to display the page. For example, the following hyperlink displays a page in the main frame of a frameset:
<a href="AllTheAnswers.aspx" target="main">Show the answers!</a>
Chapter 8: Maintaining Security
1. Which ASP.NET authentication mode is best suited to identifying and authorizing users who belong to a corporate network?
Windows integrated authentication is best suited to authenticating users of a corporate network because it uses the accounts and permissions that already exist for network users.
2. What is the difference between Windows and Forms authentication users lists in Web.config?
Users lists for Windows authentication are included in the <authorization> element of Web.config.
Users lists for Forms authentications are included in the <credentials> element of Web.config or as part of an external users database or file.
3. How do you require authentication using the Web.config file? (The answer is the same for all ASP.NET authentication modes.)
Include the following <authorization> element to require authentication:
<deny users="?" />
4. How does the Secure Sockets Layer (SSL) provide security in a Web application?
SSL protects data exchanged between a client and a Web application by encrypting the data before it is sent across the Internet.
5. How do you begin and end secure communication via SSL?
To begin secure communication, specify the https protocol in an address. For example:
<a href="https://www.contoso.com/secure.htm">Secure page.</a>
To end secure communication, specify the http protocol. For example:
<a href="http://www.contoso.com/Default.htm">Not secure.</a>
Chapter 9: Building and Deploying Web Applications
1. What permissions do Web applications run under by default?
By default, Web applications run as the ASPNET user, which has limited permissions equivalent to the Users group.
2. Why is the Machine.config file important to deployed Web applications?
The Machine.config file controls many aspects of how Web applications run, including how processes are recycled, what types of request queue limits are imposed, and what interval is used when checking if users are still connected.
3. How do you set cache options for a Web application?
Use the FrontPage Server Extensions in IIS to set the page caching options for a Web application.
4. How does deploying to a Web farm or a Web garden affect Session state in a Web application?
Web applications that are deployed to a Web farm or a Web garden need to identify a Session state provider in their Web.config file. This is because a single client' s requests can be directed to different processes over the course of his or her session. The Session state provider allows each different process to access the client' s Session state.
Chapter 10: Testing Web Applications
1. How do unit, integration, and regression testing relate to each other?
Unit testing is the foundation that ensures that each piece of code works correctly. Integration testing extends this concept by verifying that pieces work together without errors. Regression tests are made up of the existing unit and integration tests, which are run on a regular schedule to assure that new code did not break previously working code.
2. Why is load testing likely to be more important for a Web application than for a stand-alone Windows application?
Because Web applications can be public on the Internet, they can have hundreds, thousands, or even millions of users. Load tests let you simulate the expected demand to locate resource conflicts, performance bottlenecks, and other problems that aren' t apparent in single-user tests.
3. What is the difference between the Debug and Trace classes?
Under the default environment settings, code using the Debug class is stripped out of release builds, while code using the Trace class is left in. The classes are otherwise equivalent.
4. What are the two special steps you need to take to ensure that a COM component can use a component from a .NET assembly?
o You must register the .NET assembly in the system registry using RegAsm.exe.
o You must make sure that the COM component can find the .NET assembly, either by placing the .NET assembly in the global assembly cache, by placing the two components in the same folder, or by following the other assembly-probing rules.
Chapter 11: Creating Custom Web Controls
1. Briefly describe the best uses for each of the three types of Web controls by completing the following sentences:
Create a user control when you want to…
…quickly create a group of controls that can be reused throughout a project to perform some logical unit of work.
Create a composite custom control when you want to…
…combine one or more existing controls into a compiled assembly that can be easily reused in many different projects.
Create a rendered control when you want to…
…build an entirely new control that can be compiled into an assembly for use in multiple projects.
2. How is deriving important to creating custom Web controls?
Both composite and rendered custom controls are derived from the WebControl base class. That class provides the methods that you override to create the appearance of the custom control.
3. What is the most important method to override when creating a composite custom control?
You override the CreateChildControls method to add existing controls to a composite custom control.
4. What is the most important method to override when creating a rendered control?
You override the Render method when creating a rendered custom control.
5. How is raising a post-back event in a composite control different from raising a post-back event in a rendered control?
In a composite control, you can use one of the contained controls to raise a post-back event. In a rendered control, you must implement the IPostBackEventHandler interface and write a client-side script to raise a post-back event.
Chapter 12: Working with Multimedia
1. Why do you usually control multimedia from client-side scripts, rather than from server-side code?
Intercepting events on the server requires the page to be redisplayed. Redisplaying a page restarts most media, such as sounds and video.
2. Which HTML sound and video elements are supported by most browsers?
Most browsers support these HTML elements: bgsound, img, and embed.
3. How do you support Netscape Navigator users within an ActiveX object element?
Nest an HTML embed element containing an equivalent Netscape plug-in within the ActiveX HTML object element. You will also need to modify or disable client-side code that controls the ActiveX object if the user' s browser is Netscape Navigator.
4. What central feature does HTML+TIME provide that is not available with other animation techniques?
HTML+TIME allows you to synchronize timed events on a page.
5. List two ways to create a new timeline using HTML+TIME.
o Use one of the timeline elements, such as t:SEQ, t:EXCL, or t:PAR.
o Add a TIMECONTAINER attribute to a standard HTML element.
Chapter 13: Formatting Web Application Output
1. What is the advantage of using CSS rather than in-line styles for formatting a Web application?
Using CSS allows you to maintain formatting separately from the content of your Web forms, so changes are easier to make and consistency is easier to maintain.
2. Why would you create a style for a class rather than for an HTML element?
You create style classes when you want to apply the same formatting to different types of elements within an application. For example, you might want to create an emphasis style class that applies the same formatting to any text, control, heading, or image that you want to draw the user' s attention to.
3. How do CSS and XSL relate to each other when it comes to formatting a Web application?
CSS and XSL are complementary techniques for formatting. CSS determines the font, color, size, background, and other appearance aspects of HTML elements on a Web page. XSL is used to transform XML files into HTML output. In this way, XSL controls the position and appearance of items based on their content. Used together, XSL performs the high-level tasks of composition and layout while CSS performs the low-level tasks of applying fonts, colors, and other appearance features.
4. What are the differences between HTML and XML?
o HTML uses predefined element names, such as <p> and <br>. In XML, you create your own element names to identify hierarchical nodes of data.
o XML syntax is much stricter than HTML: elements must always have end-tags, element names are case sensitive, attribute values must always be enclosed in quotation marks, and nested elements must be terminated within their parent elements.
o XML identifies data conceptually based on the data' s content, rather than based on the type of formatting to apply.
Chapter 14: Providing Help
1. Which HTML attribute does the server control' s Tooltip property map to in the HTML rendered by ASP.NET?
The Tooltip property is rendered as the title attribute at run time.
2. How does displaying HTML Help using the window object' s showHelp method differ from displaying HTML Help using a browser window?
The showHelp method cannot open compiled HTML Help from a network address; the compiled file must first be downloaded to the user' s machine. You can display HTML Help from a network address within a browser window, provided you use the ms-its: protocol. However, the HTML Help Contents, Index, and Search features are not automatically available from a browser window.
3. How do you add index keywords to a Help topic?
Insert an object element in the Help topic using the HTML Help ActiveX control. For example, the following object element adds the "numbers" index keyword:
<Object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-
<param name="Keyword" value="numbers">
Chapter 15: Globalizing Web Applications
1. What is the difference between the CurrentCulture property and the CurrentUICulture property?
The CurrentCulture property affects how the .NET Framework handles dates, currencies, sorting, and formatting issues. The CurrentUICulture property determines which satellite assembly is used when loading resources.
2. How do you detect the user' s culture?
Use the Request object' s UserLanguages array. The value at element 0 corresponds to one of the culture codes used by the CultureInfo class. For example:
SLang = Request.UserLanguages(0)
3. What is a neutral culture?
Neutral cultures represent general languages without region-specific differences, such as currency. For example, the “es” culture code represents Spanish.
4. How does character encoding affect file formats?
When using non-ASCII characters in a Web form, you must save the file with a specific character encoding, such as UTF-8. ASP.NET can automatically detect UTF-8 file encoding if the file is saved with a signature; otherwise, you need to specify the file encoding used in the fileEncoding attribute of the globalization element in Web.config.
abstract class A class that cannot be instantiated but is used as a base from which other classes can be derived. In Microsoft Visual Basic .NET, abstract classes are declared using the MustInherit keyword. In Microsoft Visual C#, abstract classes are declared using the abstract keyword.
abstract member A member of base class that cannot be invoked, but instead provides a template for members of a derived class. In Visual Basic .NET, abstract members are declared using the MustOverride keyword. In Visual C#, abstract members are declared using the abstract keyword.
ad hoc testing Testing that relies on the uncoordinated efforts of developers or testers to ensure that code works. This type of testing contrasts with automated testing, which uses test scripts or programs to systematically check that all parts of an application work correctly.
additive The process of combining two or more things.
alias The name you use to identify resources on the Web. Aliases represent physical resources on the Web server, such as a Web form, an HTML page, or a graphic.
ASP.NET The portion of the Microsoft .NET Framework used to create Web applications and XML Web services. ASP.NET is an evolution of Microsoft Active Server Pages (ASP).
assembly The executable component of an application created using the .NET Framework. Web applications, as well as other types of .NET applications, compile their executable code into an assembly file with a .dll filename extension. The compiled code consists of IL assembly language (ILAsm), which is then compiled into its final state at run time by the common language runtime.
authentication The process of determining the identity of a user. In effect, authentication validates that the user is who he says he is.
authorization The process of granting access privileges to resources or tasks within an application. Applications typically authenticate users and then authorize them based on their identities or roles within an organization.
automated testing A type of testing that uses tests written in a scripting or programming language to systematically check that all parts of an application work as expected. Automated testing checks that an application' s components work separately (called unit testing), that all components work together (called integration testing), and that changes haven' t broken existing features (called regression testing).
base class A class that provides properties and methods as a foundation for a derived class. In object-oriented programming, one class can be based on another through inheritance. Using this technique, the base class provides characteristics (such as properties and methods) to a derived class. The derived class can reuse, modify, or add to the base class' s members.
behaviors Components that encapsulate specific functionality or actions on a Web form or HTML page. When applied to a standard HTML element on a page, a behavior modifies that element' s default behavior. Behaviors are implemented as styles.
caching The process of storing frequently requested documents in the server' s memory to speed up access to those items. Web applications provide automatic caching features through the Microsoft FrontPage Server Extensions and manual caching features through the Cache object.
cascading See cascading style sheets (CSS).
cascading style sheets (CSS) Web application project files (.css) that collect and organize all of the formatting information applied to elements on a Web form or HTML page. Because they keep this information in a single location, cascading style sheets make it easy to adjust the appearance of Web applications. Web applications can have multiple style sheets and can switch style sheets at run time to dynamically change the appearance of a Web application.
certificate authority An independent third-party that provides server certificates to enable secure communications across the Web through the secure sockets layer (SSL). These server certificates must be purchased and installed on your Web server to use secure sockets layer (SSL) and the HTTPS protocol.
class A data structure that groups properties and methods used to perform tasks in programs. Classes are the fundamental building blocks of object-oriented programs. Objects are instances of classes.
cookie A small file that a Web application can write to the client' s computer. Cookies are used to identify a user in a future session or to store and retrieve information about the user' s current session.
CSS See cascading style sheets (CSS).
data binding A way to link data (such as a data set) in your application to the properties of a control.
default page A page that IIS displays if the user navigates to the Web application directory without specifying a specific page to view. IIS uses the name Default.htm and Default.aspx as the default page unless you change it using the IIS property settings for the application.
delegation A programming technique by which a member of one class uses a member from another class to perform some task. Delegation differs from inheritance in that the first class implements a property or method and then calls (or delegates to) the other class' s property or method. The two classes do not have to be related to each other. In other words, the first class does not have to be derived from the second class.
deploying Installing an application on the computer where it will run.
derived class A class that is based on another class (called a base class) through inheritance. A derived class inherits the members of its base class and can override or shadow those members.
DHTML behaviors See behaviors.
dirty read The process of reading database records without locking the records being read. This means that an uncommitted change can be read and then rolled back by another client, resulting in a local copy of a record that is not consistent with what is stored in the database.
drivers In the context of testing, drivers are test components that make sure two or more components work together. Drivers are necessary to test components during development when an application is being developed from the bottom up.
error See exceptions.
exception handling The process of dealing with unusual occurrences within code so that they do not cause the program to crash or lose data.
exception log A record of exceptions that occurred while an application was running.
exceptions Unusual occurrences that happen within the logic of an application.
frames Regions of a Web page that you can use to display other Web pages. You use frames to display multiple regions that scroll and behave independently.
GAC See global assembly cache (GAC).
global assembly cache (GAC) A special subfolder within the Microsoft Windows folder that stores the shared .NET assemblies. Assemblies stored in the GAC are shared with all other applications installed on the computer.
Globally Unique Identifier (GUID) A 128-bit integer that serves as a unique identifier across networks. GUIDs are used throughout Windows and the .NET Framework to identify components.
GUID See Globally Unique Identifier (GUID).
image map A graphic containing multiple regions that the user can click to cause different actions to occur.
impersonation The process of assigning one user identity to another user. ASP.NET uses impersonation to authorize anonymous users to access resources on the Web server. By default, anonymous users impersonate the ASPNET user account.
inheritance The process of basing one class on another. In this process, a base class provides class members to a derived class. The advantage of inheritance is that you can write and maintain code once in the base class and reuse it multiple times in the derived classes.
interfaces In the context of object-oriented programming, an interface is a contract that defines the members that a group of classes provides. Once you implement a particular interface in a class, instances of that class can be used for any argument or variable declared as that interface.
localization The process of accommodating cultural differences within an application. Localized applications can support multiple languages, currencies, writing direction, and calendars based on the cultures that they support.
managed code Code that runs under the common language runtime. The common language runtime takes care of many tasks that would have formerly been handled in the application' s executable. Managed code solves the Windows programming problems of component registration and versioning (sometimes called DLL Hell) since managed code contains all the versioning and type information that the common language runtime needs to run the application. The common language runtime handles registration dynamically at run time, rather than statically through the system registry, as is done with applications based on the Component Object Model (COM).
multiple inheritance The programming technique of deriving a class from two or more base classes. Visual Basic .NET and Visual C# do not support multiple inheritance.
namespace collisions The problem that occurs when two items use the same name at a single level of the namespace hierarchy.
nodes See XML nodes.
neutral cultures Cultures that map to a specific language but not a specific region.
One-Click Hosting A feature ASP.NET Web service providers offer that allows developers to upload completed Web applications directly from the Microsoft Visual Studio .NET Start page' s Web Hosting pane.
optimization Writing code in a way that executes more quickly or consumes fewer resources.
overloading In the context of object-oriented programming, the programming technique of providing versions of a method that takes different types of arguments. The ToString method is a good example of an overloaded method.
overriding In the context of object-oriented programming, the programming technique of replacing a member inherited from a base class with a different member in the derived class.
project The collection of Visual Studio .NET source files that make up an application.
regression A problem in which a new or modified component breaks some previously working component. Regression is uncovered during testing.
reproducibility The ability to produce the same result again and again.
save point A point within a database transaction from which you can restore the database state.
scalability The ability to add capacity to an application as user demand increases.
Secure Sockets Layer (SSL) The standard means of ensuring that data sent over the Internet cannot be read by others. When a user requests a secure Web page, the server generates an encryption key for the user' s session and then encrypts the page' s data before sending a response. On the client' s side, the browser uses that same encryption key to decrypt the requested Web page and to encrypt new requests sent from that page.
SEH See structured exception handling.
server certificate A file installed through IIS that provides an encryption key for use with the secure sockets layer (SSL). Server certificates are obtained from a certificate authority, which licenses server certificates for a fee and acts as a clearinghouse to verify your server' s identity over the Internet.
server controls Visual components used on a Web form to create the user interface of a Web application.
session The sum of interaction between an instance of a client browser and a Web application. A session begins when the browser first requests a resource from within the application. A session ends either when the browser closes on the client' s machine or when the session times out after a period of inactivity. (The default is 20 minutes.)
shadowing The programming technique of replacing a member of a base class with a new member in a derived class. Shadowing differs from overriding in that the base class' s shadowed member is no longer available from the derived class.
shared members Methods that can be called directly without first creating an instance of a class. These members are called static members in Visual C#.
signature The name, parameter list, parameter types, and return type of a member.
solution A group of Visual Studio .NET projects that make up a single functional unit.
SSL See Secure Sockets Layer (SSL).
Start page The first Web form displayed when you run a Web application project from within Visual Studio .NET. The Start page is also the first page the Visual Studio .NET development environment displays in the Document pane. This Visual Studio .NET Start page contains various panes to help simplify some common tasks, such as opening a recent file and making information easier to find.
start-up project The first project Visual Studio .NET starts when you run a multi-project solution. The start-up project is shown in bold within the Solution Explorer window.
static members Methods that you can call directly without first creating an instance of a class. These members are called shared members in Visual Basic .NET.
step in Moving from a calling procedure to a called procedure during debugging. Also used in reference to setting breakpoints to stop execution in a specific procedure during debugging.
step over Executing a procedure call as a single statement during debugging.
structured exception handling (SEH) The programming technique of using exception-handling blocks or exception events to handle unusual occurrences in an application.
stubs Nonfunctional components that provide the class, property, or method definition used by another component during testing. Stubs are necessary to test components during development when an application is being developed from the top down.
subweb A virtual folder that contains a Web site.
superclassing The programming technique of deriving a new class from an existing class using inheritance. Superclassing generally refers to a situation in which most of the derived class' s behavior and members come directly from the base class.
template See XSL template.
testing interface A set of public properties and methods that you can use to control a component from an external testing program.
thread The basic unit to which the server allocates processor time. A single process can have multiple threads.
ToolTip A short, descriptive message that is displayed when a user places the mouse pointer over a control and leaves it there for a couple of seconds. These messages are used throughout Windows applications to provide helpful information about toolbar buttons and other graphic controls whose meaning might not otherwise be obvious.
tracing A programming technique for recording events, such as exceptions, in an application. Tracing is used during debugging and in the testing phase of application deployment.
transaction A group of commands (treated as a single unit) that change the data stored in a database. The transaction assures that the commands are handled in an all-or-nothing fashion—if one of the commands fail, all of the commands fail, and any data that was written to the database by the commands is backed out. In this way, transactions maintain the integrity of data in a database.
tuning The process of making adjustments to a deployed application that don' t affect code.
unhandled exceptions Exceptions that have not been dealt with in code. Unhandled exceptions cause applications to stop executing and appear to the user as errors in the application.
user control page A Web application project file with the .ascx filename extension that combines one or more server controls into a single, visual component that can be used on Web forms.
view state The current property settings of server controls on a Web form. By default, ASP.NET automatically maintains view state between post-back events.
virtual folder A shared resource identified by an alias that represents a physical location on a server.
Web farm A Web application running on multiple servers.
Web form The central user-interface component within a Web application.
Web garden A Web application running on a single server using multiple processors.
XML nodes Uniquely named elements within an XML file. XML nodes are organized hierarchically with parent-child relationships.
XML schema A description of the data elements contained in the XML file. The XML schema provides the names of the elements, their types, whether or not they are key fields, and other information.
XSL template An element within an XSL file that provides the information used to format an XML node during an XSL transformation.