-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Expand file tree
/
Copy pathPartialCachingAttribute.xml
More file actions
562 lines (513 loc) · 54.1 KB
/
Copy pathPartialCachingAttribute.xml
File metadata and controls
562 lines (513 loc) · 54.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
<Type Name="PartialCachingAttribute" FullName="System.Web.UI.PartialCachingAttribute">
<TypeSignature Language="C#" Value="public sealed class PartialCachingAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit PartialCachingAttribute extends System.Attribute" />
<TypeSignature Language="DocId" Value="T:System.Web.UI.PartialCachingAttribute" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class PartialCachingAttribute
Inherits Attribute" />
<TypeSignature Language="F#" Value="type PartialCachingAttribute = class
 inherit Attribute" />
<TypeSignature Language="C++ CLI" Value="public ref class PartialCachingAttribute sealed : Attribute" />
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.AttributeUsage(System.AttributeTargets.Class)]</AttributeName>
<AttributeName Language="F#">[<System.AttributeUsage(System.AttributeTargets.Class)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Defines the metadata attribute that Web Forms user controls (.ascx files) use to indicate if and how their output is cached. This class cannot be inherited.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
> [!IMPORTANT]
> Output caching is a performance optimization feature. The `VaryBy` settings are designed to cache alternate representations of a resource based on request characteristics; they are not designed to isolate audiences or classes of content. Do not rely on cache variation to separate personalized, tenant-specific, authorization-dependent, or otherwise sensitive responses. Enforce any required isolation between request contexts independently of the cache configuration.
The <xref:System.Web.UI.PartialCachingAttribute> attribute class marks user controls (.ascx files) that support fragment caching, and encapsulates the cache settings that ASP.NET uses when caching the control. Page and controls developers use the <xref:System.Web.UI.PartialCachingAttribute> attribute to enable output caching for a user control in a code-behind file.
Using the <xref:System.Web.UI.PartialCachingAttribute> is one of several ways you can enable output caching. The following list describes methods you can use to enable output caching.
- Use the `@ OutputCache` directive to enable output caching in declarative scenarios.
- Use the <xref:System.Web.UI.PartialCachingAttribute> to enable caching for a user control in a code-behind file.
- Use the <xref:System.Web.UI.ControlCachePolicy> class to programmatically specify cache settings in programmatic scenarios in which you are working with <xref:System.Web.UI.BasePartialCachingControl> instances.
If a user control contains an `@ OutputCache` directive or has a <xref:System.Web.UI.PartialCachingAttribute> applied, the ASP.NET parser generates an instance of the <xref:System.Web.UI.PartialCachingControl> class to wrap the user control.
For more information about ASP.NET caching, see [Caching](https://learn.microsoft.com/previous-versions/aspnet/xsbfdd8c(v=vs.100)). For more information about using attributes, see [Attributes](/dotnet/standard/attributes/).
## Examples
The following code example demonstrates using the <xref:System.Web.UI.PartialCachingAttribute>. This example has three parts:
- A partial class, `ctlMine`, that inherits from the <xref:System.Web.UI.UserControl> base class and to which the <xref:System.Web.UI.PartialCachingAttribute> attribute is applied.
- A user control that is used with the `ctlMine` partial class.
- A Web Forms page that hosts the user control.
The first part of the example demonstrates a partial class that inherits from the <xref:System.Web.UI.UserControl> base class and to which the <xref:System.Web.UI.PartialCachingAttribute> attribute is applied. In this example, the attribute specifies that the user control should be cached for 20 seconds.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_1/CS/partialcache.cs.ascx.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_1/VB/partialcache.vb.ascx.vb" id="Snippet1":::
The second part of the example shows a user control that is used with the previous example to demonstrate user control caching.
:::code language="aspx-csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_1/CS/partialcache.cs.ascx" id="Snippet5":::
:::code language="aspx-vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_1/VB/partialcache.vb.ascx" id="Snippet5":::
The third part of the example demonstrates a Web Forms page that hosts the user control.
:::code language="aspx-csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_1/CS/partialcache.cs.aspx" id="Snippet6":::
:::code language="aspx-vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_1/VB/partialcache.vb.aspx" id="Snippet6":::
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.UserControl" />
<related type="Article" href="https://msdn.microsoft.com/library/5e601b3d-bb16-4dbe-9e35-7e92a34565ca">Web Forms User Controls</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/h30h475z(v=vs.100)">Caching Portions of an ASP.NET Page</related>
</Docs>
<Members>
<MemberGroup MemberName=".ctor">
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.PartialCachingAttribute" /> class.</summary>
</Docs>
</MemberGroup>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public PartialCachingAttribute (int duration);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 duration) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.PartialCachingAttribute.#ctor(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (duration As Integer)" />
<MemberSignature Language="F#" Value="new System.Web.UI.PartialCachingAttribute : int -> System.Web.UI.PartialCachingAttribute" Usage="new System.Web.UI.PartialCachingAttribute duration" />
<MemberSignature Language="C++ CLI" Value="public:
 PartialCachingAttribute(int duration);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="duration" Type="System.Int32" />
</Parameters>
<Docs>
<param name="duration">The amount of time, in seconds, a user control should remain in the output cache.</param>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.PartialCachingAttribute" /> class with the specified duration assigned to the user control to be cached.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example demonstrates how the <xref:System.Web.UI.PartialCachingAttribute.%23ctor%28System.Int32%29> constructor can be applied to a user control. In the example, the constructor is used to indicate that the user control can be cached and to specify the caching duration. This code example is part of a larger example provided for the <xref:System.Web.UI.PartialCachingAttribute> class.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_1/CS/partialcache.cs.ascx.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_1/VB/partialcache.vb.ascx.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public PartialCachingAttribute (int duration, string varyByParams, string varyByControls, string varyByCustom);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 duration, string varyByParams, string varyByControls, string varyByCustom) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.PartialCachingAttribute.#ctor(System.Int32,System.String,System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (duration As Integer, varyByParams As String, varyByControls As String, varyByCustom As String)" />
<MemberSignature Language="F#" Value="new System.Web.UI.PartialCachingAttribute : int * string * string * string -> System.Web.UI.PartialCachingAttribute" Usage="new System.Web.UI.PartialCachingAttribute (duration, varyByParams, varyByControls, varyByCustom)" />
<MemberSignature Language="C++ CLI" Value="public:
 PartialCachingAttribute(int duration, System::String ^ varyByParams, System::String ^ varyByControls, System::String ^ varyByCustom);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="duration" Type="System.Int32" />
<Parameter Name="varyByParams" Type="System.String" />
<Parameter Name="varyByControls" Type="System.String" />
<Parameter Name="varyByCustom" Type="System.String" />
</Parameters>
<Docs>
<param name="duration">The amount of time, in seconds, that the user control is cached.</param>
<param name="varyByParams">A semicolon-separated list of strings used to vary the output cache. By default, these strings correspond to a query string value sent with GET method attributes or to a parameter sent using the POST method. When this attribute is set to multiple parameters, the output cache contains a different version of the requested document for each specified parameter. Possible values include "none", "*", and any valid query string or POST parameter name.</param>
<param name="varyByControls">A semicolon-separated list of strings used to vary the output cache. These strings represent fully qualified names of properties on a user control. When this parameter is used for a user control, the user control output is varied to the cache for each specified user control property.</param>
<param name="varyByCustom">Any text that represents custom output caching requirements. If this parameter is given a value of "browser", the cache is varied by browser name and major version information. If a custom string is entered, you must override the <see cref="M:System.Web.HttpApplication.GetVaryByCustomString(System.Web.HttpContext,System.String)" /> method in your application's Global.asax file.</param>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.PartialCachingAttribute" /> class, specifying the caching duration, any GET and POST values, control names, and custom output caching requirements used to vary the cache.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example demonstrates how the <xref:System.Web.UI.PartialCachingAttribute.%23ctor%28System.Int32%2CSystem.String%2CSystem.String%2CSystem.String%29> constructor can be applied to a user control. In the example, the constructor is used to indicate that the user control can be cached, specify the caching duration as 20 seconds, and specify a control named `state` for which the user control output will be varied.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_2_Resubmit/CS/partialcache_1cs.ascx.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_2_Resubmit/VB/partialcache_1vb.ascx.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public PartialCachingAttribute (int duration, string varyByParams, string varyByControls, string varyByCustom, bool shared);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 duration, string varyByParams, string varyByControls, string varyByCustom, bool shared) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.PartialCachingAttribute.#ctor(System.Int32,System.String,System.String,System.String,System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (duration As Integer, varyByParams As String, varyByControls As String, varyByCustom As String, shared As Boolean)" />
<MemberSignature Language="F#" Value="new System.Web.UI.PartialCachingAttribute : int * string * string * string * bool -> System.Web.UI.PartialCachingAttribute" Usage="new System.Web.UI.PartialCachingAttribute (duration, varyByParams, varyByControls, varyByCustom, shared)" />
<MemberSignature Language="C++ CLI" Value="public:
 PartialCachingAttribute(int duration, System::String ^ varyByParams, System::String ^ varyByControls, System::String ^ varyByCustom, bool shared);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="duration" Type="System.Int32" />
<Parameter Name="varyByParams" Type="System.String" />
<Parameter Name="varyByControls" Type="System.String" />
<Parameter Name="varyByCustom" Type="System.String" />
<Parameter Name="shared" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="duration">The amount of time, in seconds, that the user control is cached.</param>
<param name="varyByParams">A semicolon-separated list of strings used to vary the output cache. By default, these strings correspond to a query string value sent with <see langword="GET" /> method attributes, or a parameter sent using the <see langword="POST" /> method. When this attribute is set to multiple parameters, the output cache contains a different version of the requested document for each specified parameter. Possible values include "none", "*", and any valid query string or <see langword="POST" /> parameter name.</param>
<param name="varyByControls">A semicolon-separated list of strings used to vary the output cache. These strings represent fully qualified names of properties on a user control. When this parameter is used for a user control, the user control output is varied to the cache for each specified user control property.</param>
<param name="varyByCustom">Any text that represents custom output caching requirements. If this parameter is given a value of "browser", the cache is varied by browser name and major version information. If a custom string is entered, you must override the <see cref="M:System.Web.HttpApplication.GetVaryByCustomString(System.Web.HttpContext,System.String)" /> method in your application's Global.asax file.</param>
<param name="shared">
<see langword="true" /> to indicate that the user control output can be shared with multiple pages; otherwise, <see langword="false" />.</param>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.PartialCachingAttribute" /> class, specifying the caching duration, any <see langword="GET" /> and <see langword="POST" /> values, control names, custom output caching requirements used to vary the cache, and whether the user control output can be shared with multiple pages.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public PartialCachingAttribute (int duration, string varyByParams, string varyByControls, string varyByCustom, string sqlDependency, bool shared);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 duration, string varyByParams, string varyByControls, string varyByCustom, string sqlDependency, bool shared) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.PartialCachingAttribute.#ctor(System.Int32,System.String,System.String,System.String,System.String,System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (duration As Integer, varyByParams As String, varyByControls As String, varyByCustom As String, sqlDependency As String, shared As Boolean)" />
<MemberSignature Language="F#" Value="new System.Web.UI.PartialCachingAttribute : int * string * string * string * string * bool -> System.Web.UI.PartialCachingAttribute" Usage="new System.Web.UI.PartialCachingAttribute (duration, varyByParams, varyByControls, varyByCustom, sqlDependency, shared)" />
<MemberSignature Language="C++ CLI" Value="public:
 PartialCachingAttribute(int duration, System::String ^ varyByParams, System::String ^ varyByControls, System::String ^ varyByCustom, System::String ^ sqlDependency, bool shared);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="duration" Type="System.Int32" Index="0" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<Parameter Name="varyByParams" Type="System.String" Index="1" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<Parameter Name="varyByControls" Type="System.String" Index="2" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<Parameter Name="varyByCustom" Type="System.String" Index="3" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<Parameter Name="sqlDependency" Type="System.String" Index="4" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<Parameter Name="shared" Type="System.Boolean" Index="5" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
</Parameters>
<Docs>
<param name="duration">The amount of time, in seconds, that the user control is cached.</param>
<param name="varyByParams">A semicolon-separated list of strings used to vary the output cache. By default, these strings correspond to a query string value sent with <see langword="GET" /> method attributes, or a parameter sent using the <see langword="POST" /> method. When this attribute is set to multiple parameters, the output cache contains a different version of the requested document for each specified parameter. Possible values include "none", "*", and any valid query string or <see langword="POST" /> parameter name.</param>
<param name="varyByControls">A semicolon-separated list of strings used to vary the output cache. These strings represent fully qualified names of properties on a user control. When this parameter is used for a user control, the user control output is varied to the cache for each specified user control property.</param>
<param name="varyByCustom">Any text that represents custom output caching requirements. If this parameter is given a value of "browser", the cache is varied by browser name and major version information. If a custom string is entered, you must override the <see cref="M:System.Web.HttpApplication.GetVaryByCustomString(System.Web.HttpContext,System.String)" /> method in your application's Global.asax file.</param>
<param name="sqlDependency">A delimited list of database names and table names that, when changed, explicitly expire a cache entry in the ASP.NET cache. These database names match those SQL Server cache dependencies identified in your Web configuration section.</param>
<param name="shared">
<see langword="true" /> to indicate that the user control output can be shared with multiple pages; otherwise, <see langword="false" />.</param>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.PartialCachingAttribute" /> class, specifying the caching duration, any <see langword="GET" /> and <see langword="POST" /> values, control names, custom output caching requirements used to vary the cache, the database dependencies, and whether the user control output can be shared with multiple pages.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Duration">
<MemberSignature Language="C#" Value="public int Duration { get; }" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="ILAsm" Value=".property instance int32 Duration" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.Duration" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Duration As Integer" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="F#" Value="member this.Duration : int" Usage="System.Web.UI.PartialCachingAttribute.Duration" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C++ CLI" Value="public:
 property int Duration { int get(); };" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C#" Value="public int Duration { get; set; }" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="VB.NET" Value="Public Property Duration As Integer" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="F#" Value="member this.Duration : int with get, set" Usage="System.Web.UI.PartialCachingAttribute.Duration" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="C++ CLI" Value="public:
 property int Duration { int get(); void set(int value); };" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the amount of time, in seconds, that cached items should remain in the output cache.</summary>
<value>The amount of time, in seconds, a user control should remain in the output cache.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example demonstrates how the <xref:System.Web.UI.PartialCachingAttribute.%23ctor%28System.Int32%29> constructor can be applied to a user control. The attribute indicates that the user control can be cached and specifies a 20 second caching duration. This code example is part of a larger example provided for the <xref:System.Web.UI.PartialCachingAttribute> class.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_1/CS/partialcache.cs.ascx.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_1/VB/partialcache.vb.ascx.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ProviderName">
<MemberSignature Language="C#" Value="public string ProviderName { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string ProviderName" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.ProviderName" />
<MemberSignature Language="VB.NET" Value="Public Property ProviderName As String" />
<MemberSignature Language="F#" Value="member this.ProviderName : string with get, set" Usage="System.Web.UI.PartialCachingAttribute.ProviderName" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ ProviderName { System::String ^ get(); void set(System::String ^ value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the name of the provider that is used to store the output-cached data for the associated control.</summary>
<value>The name of the provider.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can set this property declaratively or by using an attribute.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Shared">
<MemberSignature Language="C#" Value="public bool Shared { get; }" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="ILAsm" Value=".property instance bool Shared" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.Shared" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Shared As Boolean" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="F#" Value="member this.Shared : bool" Usage="System.Web.UI.PartialCachingAttribute.Shared" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C++ CLI" Value="public:
 property bool Shared { bool get(); };" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C#" Value="public bool Shared { get; set; }" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="VB.NET" Value="Public Property Shared As Boolean" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="F#" Value="member this.Shared : bool with get, set" Usage="System.Web.UI.PartialCachingAttribute.Shared" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="C++ CLI" Value="public:
 property bool Shared { bool get(); void set(bool value); };" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether user control output can be shared with multiple pages.</summary>
<value>
<see langword="true" /> if user control output can be shared between multiple pages; otherwise, <see langword="false" />. The default is <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If you set this property to `true`, cached user control output can be accessed by multiple Web Forms pages. If you do not set it to `true`, the default behavior is to cache one version of user control output for each page that contains that user control. You can potentially save a significant amount of memory by enabling this property.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="SqlDependency">
<MemberSignature Language="C#" Value="public string SqlDependency { get; }" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="ILAsm" Value=".property instance string SqlDependency" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.SqlDependency" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property SqlDependency As String" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="F#" Value="member this.SqlDependency : string" Usage="System.Web.UI.PartialCachingAttribute.SqlDependency" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ SqlDependency { System::String ^ get(); };" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C#" Value="public string SqlDependency { get; set; }" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="VB.NET" Value="Public Property SqlDependency As String" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="F#" Value="member this.SqlDependency : string with get, set" Usage="System.Web.UI.PartialCachingAttribute.SqlDependency" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ SqlDependency { System::String ^ get(); void set(System::String ^ value); };" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a delimited string that identifies one or more database and table name pairs that the cached user control is dependent on.</summary>
<value>A delimited string that identifies a set of database and table names that the user control cache entry is dependent on.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.PartialCachingAttribute.SqlDependency%2A> string identifies databases and table names according to the name of a SQL Server cache dependency in your configuration (typically added using the `sqlcachedependency` configuration elements). If you use SQL Server 2005, you can set the <xref:System.Web.UI.PartialCachingAttribute.SqlDependency%2A> property to "CommandNotification", which instructs ASP.NET to create row level dependencies for all SQL commands issued within the context of the current ASP.NET page.
]]></format>
</remarks>
<altmember cref="T:System.Web.Caching.SqlCacheDependency" />
</Docs>
</Member>
<Member MemberName="VaryByControls">
<MemberSignature Language="C#" Value="public string VaryByControls { get; }" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="ILAsm" Value=".property instance string VaryByControls" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.VaryByControls" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property VaryByControls As String" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="F#" Value="member this.VaryByControls : string" Usage="System.Web.UI.PartialCachingAttribute.VaryByControls" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ VaryByControls { System::String ^ get(); };" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C#" Value="public string VaryByControls { get; set; }" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="VB.NET" Value="Public Property VaryByControls As String" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="F#" Value="member this.VaryByControls : string with get, set" Usage="System.Web.UI.PartialCachingAttribute.VaryByControls" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ VaryByControls { System::String ^ get(); void set(System::String ^ value); };" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a list of user control properties that the output cache uses to vary the user control.</summary>
<value>The list of user control properties.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example demonstrates how the <xref:System.Web.UI.PartialCachingAttribute.%23ctor%28System.Int32%2CSystem.String%2CSystem.String%2CSystem.String%29> constructor can be applied to a user control. In the example, the constructor is used to indicate that the user control can be cached, to specify the caching duration as 20 seconds, and to specify a control named `state` for which the user control output will be varied.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_2_Resubmit/CS/partialcache_1cs.ascx.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_2_Resubmit/VB/partialcache_1vb.ascx.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="VaryByCustom">
<MemberSignature Language="C#" Value="public string VaryByCustom { get; }" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="ILAsm" Value=".property instance string VaryByCustom" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.VaryByCustom" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property VaryByCustom As String" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="F#" Value="member this.VaryByCustom : string" Usage="System.Web.UI.PartialCachingAttribute.VaryByCustom" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ VaryByCustom { System::String ^ get(); };" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C#" Value="public string VaryByCustom { get; set; }" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="VB.NET" Value="Public Property VaryByCustom As String" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="F#" Value="member this.VaryByCustom : string with get, set" Usage="System.Web.UI.PartialCachingAttribute.VaryByCustom" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ VaryByCustom { System::String ^ get(); void set(System::String ^ value); };" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a list of custom strings that the output cache will use to vary the user control.</summary>
<value>The list of custom strings.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If you specify "browser" for this property, the user control will be varied by browser type and major version number. You can also use this property to extend the values that output cache varies the user control response.
## Examples
The following code example demonstrates how the <xref:System.Web.UI.PartialCachingAttribute.%23ctor%28System.Int32%2CSystem.String%2CSystem.String%2CSystem.String%29> constructor can be applied to a user control. In the example, the constructor is used to indicate that the user control can be cached and to specify that the cache entry is dependent on the browser type and major version number.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_4/CS/partialcache_3cs.ascx.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_4/VB/partialcache_3vb.ascx.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="VaryByParams">
<MemberSignature Language="C#" Value="public string VaryByParams { get; }" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="ILAsm" Value=".property instance string VaryByParams" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.PartialCachingAttribute.VaryByParams" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property VaryByParams As String" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="F#" Value="member this.VaryByParams : string" Usage="System.Web.UI.PartialCachingAttribute.VaryByParams" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ VaryByParams { System::String ^ get(); };" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5" />
<MemberSignature Language="C#" Value="public string VaryByParams { get; set; }" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="VB.NET" Value="Public Property VaryByParams As String" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="F#" Value="member this.VaryByParams : string with get, set" Usage="System.Web.UI.PartialCachingAttribute.VaryByParams" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ VaryByParams { System::String ^ get(); void set(System::String ^ value); };" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a list of query string or form <see langword="POST" /> parameters that the output cache will use to vary the user control.</summary>
<value>The list of query string or form <see langword="POST" /> parameters.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example demonstrates how the <xref:System.Web.UI.PartialCachingAttribute.%23ctor%28System.Int32%2CSystem.String%2CSystem.String%2CSystem.String%29> constructor can be applied to a user control. In the example, the constructor is used to indicate that the user control can be cached and to specify the parameter upon which the cache entry is dependent.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_WebNet/PartialCachingAttribute_3/CS/partialcache_2cs.ascx.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/PartialCachingAttribute_3/VB/partialcache_2vb.ascx.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>