Introduction |
|
1 | (1) |
|
|
1 | (1) |
|
What Does this Book Cover? |
|
|
2 | (1) |
|
What Do I Need to Use this Book? |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
4 | (5) |
|
How to Download the Sample Code for the Book |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
Why this System Offers the Best Support |
|
|
7 | (2) |
|
Web Programming and ASP.NET |
|
|
9 | (22) |
|
Web Programming Fundamentals |
|
|
10 | (7) |
|
What are Web Applications? |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
Web Applications vs. Windows Applications |
|
|
11 | (3) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (2) |
|
|
17 | (1) |
|
Configuring Your System for Web Development |
|
|
17 | (5) |
|
Installing an Application from the Code Download |
|
|
19 | (1) |
|
Creating a Virtual Directory |
|
|
19 | (1) |
|
|
20 | (2) |
|
Web Programming in the .NET Framework |
|
|
22 | (2) |
|
A Control-Based Architecture |
|
|
22 | (1) |
|
Event-Driven Programming Model |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
Application Configuration |
|
|
25 | (1) |
|
The Microsoft SQL Server Desktop Engine |
|
|
25 | (4) |
|
|
26 | (1) |
|
Obtaining and Installing MSDE |
|
|
26 | (3) |
|
|
29 | (2) |
|
|
31 | (20) |
|
Web Forms vs. Windows Forms |
|
|
31 | (5) |
|
Web Forms Development with Visual Studio |
|
|
36 | (4) |
|
|
37 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
Global.asax/Global.asax.vb |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
WebForm1.aspx/WebForm1.aspx.vb |
|
|
40 | (1) |
|
|
40 | (8) |
|
|
40 | (1) |
|
Page Framework Initialization |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
42 | (1) |
|
|
42 | (1) |
|
|
42 | (6) |
|
Web Forms Processing at the File Level |
|
|
48 | (1) |
|
|
48 | (3) |
|
User Interfaces and Server Controls |
|
|
51 | (54) |
|
|
52 | (30) |
|
|
52 | (6) |
|
|
58 | (5) |
|
|
63 | (5) |
|
|
68 | (8) |
|
|
76 | (6) |
|
|
82 | (9) |
|
|
91 | (6) |
|
|
97 | (3) |
|
|
100 | (3) |
|
|
103 | (2) |
|
|
105 | (42) |
|
|
105 | (34) |
|
|
106 | (2) |
|
|
108 | (1) |
|
Programmatic Use of ADO.NET |
|
|
109 | (1) |
|
Adding Data to a Database |
|
|
109 | (5) |
|
Retrieving Data from a Database |
|
|
114 | (5) |
|
Changing the Data in a Database |
|
|
119 | (7) |
|
Completing the Picture -- The DataSet Object |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
128 | (8) |
|
|
136 | (3) |
|
|
139 | (5) |
|
|
141 | (3) |
|
|
144 | (3) |
|
|
147 | (42) |
|
|
147 | (16) |
|
|
148 | (1) |
|
|
149 | (1) |
|
Adding Data Binding to our Application |
|
|
150 | (8) |
|
|
158 | (5) |
|
Working Visually with Data |
|
|
163 | (9) |
|
|
164 | (1) |
|
|
165 | (7) |
|
|
172 | (15) |
|
|
174 | (3) |
|
Freestyle Data Binding and Editing -- The Data List |
|
|
177 | (1) |
|
Adding a DataList to our Application |
|
|
177 | (10) |
|
|
187 | (2) |
|
Debugging and Error Handling in Web Applications |
|
|
189 | (28) |
|
Common Considerations for Testing and Debugging Web Applications |
|
|
190 | (1) |
|
Standard Visual Studio .NET Debugging Features |
|
|
191 | (9) |
|
|
191 | (3) |
|
|
194 | (3) |
|
Assertions and the Output Window |
|
|
197 | (1) |
|
Attaching to Existing Processes |
|
|
198 | (2) |
|
|
200 | (2) |
|
|
202 | (2) |
|
Debugging Client-side Script |
|
|
204 | (2) |
|
Using Trace Directives in ASP.NET |
|
|
206 | (6) |
|
Adding your own Trace Statements |
|
|
207 | (3) |
|
Adding Site-wide Trace Information |
|
|
210 | (2) |
|
Global.asax and Site-Wide Error Handling |
|
|
212 | (2) |
|
|
214 | (3) |
|
ASP.NET Applications, Sessions, and State |
|
|
217 | (22) |
|
What Does `Global' Really Mean? |
|
|
218 | (1) |
|
The ASP.NET Application and Session Objects |
|
|
218 | (1) |
|
Handling Application- and Session-Level Events |
|
|
218 | (2) |
|
|
218 | (2) |
|
|
220 | (4) |
|
|
220 | (2) |
|
|
222 | (1) |
|
What to Store in Application State |
|
|
223 | (1) |
|
|
224 | (7) |
|
|
224 | (1) |
|
Configuring Cookie-less Sessions |
|
|
225 | (1) |
|
|
226 | (2) |
|
|
228 | (1) |
|
Setting up a State Server |
|
|
228 | (1) |
|
Preparing the Environment for State Server |
|
|
229 | (1) |
|
Configuring ASP.NET for State Server |
|
|
229 | (1) |
|
Preparing the Environment for SQL Server |
|
|
229 | (1) |
|
Configuring ASP.NET for SQL Server |
|
|
230 | (1) |
|
|
231 | (3) |
|
ViewState and Variable Data |
|
|
233 | (1) |
|
Which State Model Should You Use? |
|
|
234 | (1) |
|
|
235 | (4) |
|
|
239 | (56) |
|
|
239 | (3) |
|
|
240 | (1) |
|
|
241 | (1) |
|
|
242 | (19) |
|
|
243 | (1) |
|
|
244 | (1) |
|
|
244 | (5) |
|
Definition of a Complex Type |
|
|
249 | (6) |
|
Definition of a Simple Type |
|
|
255 | (1) |
|
Restricting Element Occurrence |
|
|
256 | (2) |
|
Creating XML Documents Visually |
|
|
258 | (2) |
|
Creating XML Documents in Data View |
|
|
260 | (1) |
|
|
261 | (32) |
|
Reading and Validating XML |
|
|
262 | (1) |
|
|
262 | (5) |
|
Receiving the Uploaded File |
|
|
267 | (2) |
|
Validating XML from a Web Application |
|
|
269 | (4) |
|
Processing the Uploaded XML Data |
|
|
273 | (5) |
|
Querying XML Documents: XPath |
|
|
278 | (3) |
|
The Document Object Model (DOM) |
|
|
281 | (7) |
|
Dynamically Building XPath Expressions |
|
|
288 | (3) |
|
XmlDocument vs. XmlReader |
|
|
291 | (2) |
|
|
293 | (2) |
|
Web Services in Web Applications |
|
|
295 | (34) |
|
Accessing a Third Party Web Service |
|
|
296 | (6) |
|
More About Web References |
|
|
302 | (1) |
|
Creating an XML Storage Web Service |
|
|
302 | (9) |
|
|
303 | (3) |
|
Web Services On Web Services |
|
|
306 | (5) |
|
Consuming Our Web Service |
|
|
311 | (4) |
|
|
315 | (2) |
|
|
315 | (1) |
|
|
315 | (2) |
|
Validating and Error Trapping |
|
|
317 | (2) |
|
Handling Web Service Errors |
|
|
319 | (1) |
|
|
320 | (3) |
|
|
320 | (1) |
|
|
321 | (1) |
|
|
322 | (1) |
|
Web Services are Forgetful |
|
|
323 | (1) |
|
Asynchronous Communication |
|
|
323 | (6) |
|
|
326 | (3) |
|
The Role of the Web Server |
|
|
329 | (24) |
|
How Does a Web Server Work? |
|
|
329 | (1) |
|
Internet Information Services (IIS) |
|
|
330 | (15) |
|
|
330 | (1) |
|
|
330 | (1) |
|
The ASP.NET System Process |
|
|
331 | (1) |
|
FrontPage Server Extensions |
|
|
331 | (1) |
|
IIS and the Management Console |
|
|
331 | (1) |
|
|
332 | (5) |
|
Configuring Server-Wide Settings |
|
|
337 | (2) |
|
|
339 | (1) |
|
|
339 | (1) |
|
|
340 | (1) |
|
General Security Settings |
|
|
340 | (3) |
|
Configuring ASP.NET Applications in IIS |
|
|
343 | (2) |
|
|
345 | (1) |
|
|
345 | (5) |
|
|
345 | (5) |
|
|
350 | (3) |
|
ASP.NET Authentication, Authorization, and Security |
|
|
353 | (30) |
|
|
354 | (1) |
|
|
354 | (10) |
|
|
354 | (1) |
|
Authentication and Authorization |
|
|
355 | (2) |
|
|
357 | (1) |
|
|
357 | (1) |
|
Processing and Initialization |
|
|
358 | (3) |
|
Application Security Configuration |
|
|
361 | (3) |
|
|
364 | (1) |
|
|
365 | (1) |
|
|
365 | (6) |
|
Customizing Authentication and Role-based Security |
|
|
371 | (9) |
|
|
380 | (3) |
|
Performance and Scalability |
|
|
383 | (24) |
|
Scaling in the Real World |
|
|
383 | (2) |
|
|
385 | (3) |
|
Web Application Stress Tool |
|
|
388 | (6) |
|
|
388 | (6) |
|
|
394 | (1) |
|
Caching for Better Performance |
|
|
395 | (9) |
|
|
395 | (1) |
|
|
396 | (1) |
|
Controlling the Output Cache |
|
|
396 | (4) |
|
|
400 | (1) |
|
|
400 | (2) |
|
Cached Controls Cannot be Programmable |
|
|
402 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
404 | (3) |
|
Publishing Web Applications in .NET |
|
|
407 | (36) |
|
|
408 | (1) |
|
|
408 | (1) |
|
ASP.NET Web Service Architecture |
|
|
409 | (4) |
|
ASP.NET Web Application Architecture |
|
|
413 | (3) |
|
The Visual Studio .NET Web Setup Project |
|
|
416 | (8) |
|
|
422 | (2) |
|
|
424 | (14) |
|
Amending the Installation User Interface |
|
|
426 | (5) |
|
|
431 | (1) |
|
|
432 | (1) |
|
|
432 | (2) |
|
|
434 | (4) |
|
|
438 | (2) |
|
|
439 | (1) |
|
|
440 | (3) |
Index |
|
443 | |