Cache API
Add method, 177
AddCacheDependency method, 293
AddValidationCallback method, 158
Application API, compared to, 169–171
browser history method, 163
cache key dependencies, 160–162, 174–176, 293
cacheability, setting, 153–154
cascading removal of entries, 162
contentions problem, 171
DataSets, storing, 169–170
dependencies, creating, 163, 293
dependencies, inserting, 173–176
dependencies, removing, 160–162
deterministic page serving, 158–163
dictionary, 172–173
duration, setting, 152–153
eviction, timed, 176
functionality summary, 171
GetVaryByCustomString method, 149–151
HttpCacheability enumeration, 153–154
Insert method, 173–177
invalidation headers, 155–157
key dependencies, 174–176
LRU algorithm, 291
no cache header setting, 154, 156
no race condition, 293
nonremovable items, 177
out-of-process option, 294
OutputCache directives with, 293
priority for eviction, 176–177
Private setting, 154
Public setting, 154
purpose of, 152, 169
Remove method, 177
resource dependencies, 293
Server setting, 154
ServerAndNoCache setting, 154
ServerAndPrivate setting, 154
Session API, similarity to, 169–171
SetCacheability method, 153–154
SetExpires method, 153
SetValidUntilExpires property, 157, 293
validation callbacks, 158–159
VaryByParam attribute, 155, 294
varying by browsers, 155
varying by headers, 155
varying by parameters, 155, 294
cache key dependencies, 160–162, 174–176, 293
cache state
application caches, 291. See also application state
Cache-Control headers, 138–140, 154
defined, 110, 133
dependencies, inserting, 173–176
dependencies, removing, 160–162
duration of pages, 135, 152–153, 291
Expires headers, 140
FAQs, 134–136
HTTP cache headers, 138–140
HTTP cache policy, 135
invalidation headers, 155–157
Last-Modified headers, 140
location of cache, selecting, 151–152
memory limitations, 136
overview of, 134
page output caching, 135
partial page caching, 163–169
programmatic removal of pages, 163
shared user control entries, 169
storage of, 135
validation callbacks, 158–159
VaryBy style caching, 135
varying by control state, 167–169
Web farm considerations, 135
Cache-Control headers, 138–140, 154
caching
Cache-Control headers, 138–140, 154
cascading removal of entries, 162
clearing caches, 136
DataGrids with, 287
defined, 134
dependencies, 160–162, 173–176, 293
duration of pages in memory, 135, 152–153, 291
FAQs, 134–136
HTTP cache policy, 135
invalidation headers, 155–157
memory limitations, 136
memory use recommended, 291
nonremovable items, 177
objects, 237
page output caching, 135
partial page caching, 163–169
performance tuning, 236–237
per-request caching, 179–181
setting cache items, 172–177
storage for, 135
User controls, 31
VaryBy style caching, 135
Web farm considerations, 135
what to cache, 172
Calendar.aspx code sample, 27–28
CGI (Common Gateway Interface), 1
CheckBoxList control, 35–36
CheckWindowsPrincipal.aspx, 212–213
cHTML (Compact HTML), 88, 93
classes, caching recommendation for, 172
clearing caches, 136
client certificates, 204
client state. See state management
client-side validation, 285
CLR (Common Language Runtime)
defined, 2
managed code, 279
columns
AutoGenerateColumns, 287
DataGrid, 63–64
COM
interoperability, 279–281
performance issues, 237–238, 298
run-time callable wrappers, 281
Common Gateway Interface (CGI), 1
Common Language Runtime. See CLR
Compact HTML (cHTML), 88, 93
CompareValidator control, 42
compiling
batch process, 6, 234–236, 298
command line options, 255
configuration section, 188
debugging, enabling, 254–255
directory creation, 251
file types created, 252
overview of, 251–253
performance issues, 234–236
source files, 255
Computer Management application, 204, 296
concatenation, string, 239
config files. See also configuration
application specific. See web.config files
ISAPI mapping of, 264
system wide. See machine.config
configuration
accessing application settings, 194
allowOverride attribute, 192–193
application settings, 194–195
ASP vs. ASP.NET, 277–279
ASP.NET sections, table of, 188–189
centralized settings, 191–192
changing, 189–190
custom configuration section handler, 195–199
defined, 183
directories for web.config, 187
encrypting config files, 200
file structure, 190–191
global.asax vs. web.config, 194
groups within sections, 191
how it works, 184
inherited settings, 188
locking down, 192–193
machine.config. See machine.config
multiple servers, 184
.NET Framework versions, 185–186, 295
parent files, 191–192
root directories, 295
security for config files, 199–200
storing custom, 193–199
System.Configuration namespace, 195
timeout, setting, 183
updating live sites, 190
web.config. See web.config files
XML basis of, 183
XML files for, 277–279
control trees
place in page creation, 23
server control example, 25
simplest, 24
tracing of, 247
controls. See also server controls
binding data to. See data-binding
CheckBoxList, 35–36
CompareValidator, 42
custom, 33
CustomValidator, 44–45
DataGrid objects. See DataGrids
DataList control, 59–60
disabling client-side validation, 285
DropDownList, 37–38, 285, 286
dynamic, 20–22
DynamicTextbox.aspx, 20
HtmlInputFile control, 46–47
list. See list controls
ListBox, 36–37
MessageBox object, 33
partial page caching, 164–169
PartialCachingControls, 166
RadioButtonList, 39–40
RangeValidator, 42–43
RegularExpressionValidator, 43–44
Repeater control, 56–59
RequiredFieldValidator, 41
server. See server controls
unused, effects on performance, 231
User. See User controls
validation with. See validation controls
ValidationSummary, 45
cookies
advantages of, 128
ASP.NET session state, for, 113
.ASPXAUTH, 128
.ASPXSession, 128
authentication with, 210
Cookie.aspx, 247–248
defined, 128
direction determination, 298
HTTP cookies in ASP, 111
maximum size of, 128
redirecting browsers for, 290
SessionIDs, 123
state, defined for, 109
tasks for, ASP.NET, 128
tracing collections, 247–248
user roles, maintaining with, 128–131
viewing from client browser, 128
counters, performance, 227–229
CPU utilization metric, 228
cross-site scripting, 218–219
.cs files, ISAPI mapping of, 264
CurrentTime.ascx, 30
custom configuration section handler, 195–199
custom controls, 33
CustomValidator control, 44–45