Question:
If I have an ASP.NET User Control which defines/exposes a property that the
page can use to specify a mode or data subset for the control to use, is
there a way to tell the @OutputCache directive to vary its cache based on
that property value?
I.e., I have:
<my:control runat="server" id="mcOne" Flag="One" />
<my:control runat="server" id="mcTwo" Flag="Two" />
where Flag is a public property of the code-behind class (whose value
affects the display output), and I want the Flag="One" instance to
output-cache separately from the Flag="Two" instance.
So far, the control seems to output-cache only one version of the control,
and all successive displays of the control use that cached version,
regardless of the Flag attribute value.
Other notes:
The @OutputCache directive's VaryByParam attribute works only with GET and
POST values. (I did try VaryByParam="Flag" anyway, to no effect.)
Setting the @OutputCache directive's Shared attribute to "False" solves the
problem (by causing each usage of the control to cache separately), but has
the additional effect of requiring separate initial-loads and caches for
each page on which the control appears. Since I currently only have two or
three possible values of the Flag attribute, but these controls may appear
on many pages (and there is some work invovled in the initial load of the
data for this control), this is not ideal.
There doesn't seem to be any sort of VaryByProperty attribute for
@OutputCache (which surprises me). So...
Any other ideas?
- Tom Kiefer
thogek @ earthlink . net 6 2601
Have you looked at VaryByCustom?
--
venlig hilsen / with regards
anders borum
--
Yes, but I'm unclear on how that construct would be able to access anything
specific to the control being cached.
From http://msdn.microsoft.com/library/en...utputCache.asp
and http://msdn.microsoft.com/library/en...tringTopic.asp, I
see VaryByCustom allowing me to specify arbitrary rules that can act on the
HttpContext of the current request, but not on details within the control
itself (such as the value of a given property).
Unless I'm missing something....
- Tom Kiefer
thogek @ earthlink . net
"Anders Borum" <na@na.na> wrote in message
news:OE*************@TK2MSFTNGP12.phx.gbl... Have you looked at VaryByCustom?
-- venlig hilsen / with regards anders borum --
I'm guessing from the lack of response that there's no ready way to do what
I'm looking for. :-(
If anyone from Microsoft is reading this, is there any indication that any
future versions of ASP.NET might support what I attempt to describe below?
- Tom Kiefer
thogek @ earthlink . net
"Tom Kiefer" <th****@earthlink.net> wrote in message
news:OY*************@tk2msftngp13.phx.gbl... Question: If I have an ASP.NET User Control which defines/exposes a property that
the page can use to specify a mode or data subset for the control to use, is there a way to tell the @OutputCache directive to vary its cache based on that property value?
I.e., I have:
<my:control runat="server" id="mcOne" Flag="One" /> <my:control runat="server" id="mcTwo" Flag="Two" />
where Flag is a public property of the code-behind class (whose value affects the display output), and I want the Flag="One" instance to output-cache separately from the Flag="Two" instance.
So far, the control seems to output-cache only one version of the control, and all successive displays of the control use that cached version, regardless of the Flag attribute value.
Other notes:
The @OutputCache directive's VaryByParam attribute works only with GET and POST values. (I did try VaryByParam="Flag" anyway, to no effect.)
Setting the @OutputCache directive's Shared attribute to "False" solves
the problem (by causing each usage of the control to cache separately), but
has the additional effect of requiring separate initial-loads and caches for each page on which the control appears. Since I currently only have two
or three possible values of the Flag attribute, but these controls may appear on many pages (and there is some work invovled in the initial load of the data for this control), this is not ideal.
There doesn't seem to be any sort of VaryByProperty attribute for @OutputCache (which surprises me). So...
Any other ideas?
- Tom Kiefer thogek @ earthlink . net
Just a guess-- Have you looked at VaryByControl? http://msdn.microsoft.com/library/de...parameters.asp
Thanks,
Eric Lawrence
Program Manager
Assistance and Worldwide Services
This posting is provided "AS IS" with no warranties, and confers no rights.
"Tom Kiefer" <th*******@earthlinknot.net> wrote in message
news:OM**************@TK2MSFTNGP12.phx.gbl... I'm guessing from the lack of response that there's no ready way to do
what I'm looking for. :-(
If anyone from Microsoft is reading this, is there any indication that any future versions of ASP.NET might support what I attempt to describe below?
- Tom Kiefer thogek @ earthlink . net
"Tom Kiefer" <th****@earthlink.net> wrote in message news:OY*************@tk2msftngp13.phx.gbl... Question: If I have an ASP.NET User Control which defines/exposes a property that the page can use to specify a mode or data subset for the control to use, is there a way to tell the @OutputCache directive to vary its cache based
on that property value?
I.e., I have:
<my:control runat="server" id="mcOne" Flag="One" /> <my:control runat="server" id="mcTwo" Flag="Two" />
where Flag is a public property of the code-behind class (whose value affects the display output), and I want the Flag="One" instance to output-cache separately from the Flag="Two" instance.
So far, the control seems to output-cache only one version of the
control, and all successive displays of the control use that cached version, regardless of the Flag attribute value.
Other notes:
The @OutputCache directive's VaryByParam attribute works only with GET
and POST values. (I did try VaryByParam="Flag" anyway, to no effect.)
Setting the @OutputCache directive's Shared attribute to "False" solves the problem (by causing each usage of the control to cache separately), but has the additional effect of requiring separate initial-loads and caches for each page on which the control appears. Since I currently only have two or three possible values of the Flag attribute, but these controls may
appear on many pages (and there is some work invovled in the initial load of
the data for this control), this is not ideal.
There doesn't seem to be any sort of VaryByProperty attribute for @OutputCache (which surprises me). So...
Any other ideas?
- Tom Kiefer thogek @ earthlink . net
According to http://msdn.microsoft.com/library/en...utputCache.asp
and http://msdn.microsoft.com/library/en...parameters.asp,
this sounds like VaryByControl directs the control to tie its caching
conditions (in a way that is unclear to me) to those of child control whose
ID matches the value of the VaryByControl attribute -- not quite what I'm
looking for. (I suppose that, with some work, I might be able to kludge
this into what I want, but...)
I'm looking for a way to direct the control to cache itself separately for
each value of an arbitrary specified property of that control. Sort of a
VaryByProperty="Flag" which would cause the control to be cached separately
for each value of the control's Flag property, as specified in the control's
HTML declaration (i.e., separately for Flag="One", Flag="Two", etc.).
I'm rather suprised that a VaryByProperty attribute of the @OutputCache
directive does not already exist (whether by that name or some other).
Again, unless I'm completely misunderstanding....
- Tom Kiefer
thogek @ earthlink . net
"Eric Lawrence [MSFT]" <e_********@hotmail.com> wrote in message
news:uJ*************@tk2msftngp13.phx.gbl... Just a guess-- Have you looked at VaryByControl?
http://msdn.microsoft.com/library/de...parameters.asp Thanks,
Eric Lawrence Program Manager Assistance and Worldwide Services
This posting is provided "AS IS" with no warranties, and confers no
rights.
"Tom Kiefer" <th*******@earthlinknot.net> wrote in message news:OM**************@TK2MSFTNGP12.phx.gbl... I'm guessing from the lack of response that there's no ready way to do what I'm looking for. :-(
If anyone from Microsoft is reading this, is there any indication that
any future versions of ASP.NET might support what I attempt to describe
below? - Tom Kiefer thogek @ earthlink . net
"Tom Kiefer" <th****@earthlink.net> wrote in message news:OY*************@tk2msftngp13.phx.gbl... Question: If I have an ASP.NET User Control which defines/exposes a property
that the page can use to specify a mode or data subset for the control to use,
is there a way to tell the @OutputCache directive to vary its cache based
on that property value?
I.e., I have:
<my:control runat="server" id="mcOne" Flag="One" /> <my:control runat="server" id="mcTwo" Flag="Two" />
where Flag is a public property of the code-behind class (whose value affects the display output), and I want the Flag="One" instance to output-cache separately from the Flag="Two" instance.
So far, the control seems to output-cache only one version of the control, and all successive displays of the control use that cached version, regardless of the Flag attribute value.
Other notes:
The @OutputCache directive's VaryByParam attribute works only with GET and POST values. (I did try VaryByParam="Flag" anyway, to no effect.)
Setting the @OutputCache directive's Shared attribute to "False"
solves the problem (by causing each usage of the control to cache separately),
but has the additional effect of requiring separate initial-loads and caches
for each page on which the control appears. Since I currently only have
two or three possible values of the Flag attribute, but these controls may appear on many pages (and there is some work invovled in the initial load of the data for this control), this is not ideal.
There doesn't seem to be any sort of VaryByProperty attribute for @OutputCache (which surprises me). So...
Any other ideas?
- Tom Kiefer thogek @ earthlink . net
I believe VaryByControl is what you're looking for. VayByControl should
accept the name of a property of that control and you'll get different cache
variations depending on the value set in the prop.
--
Corey O'Mara
MCSD.NET, MCT
"Tom Kiefer" <th*******@earthlinknot.net> wrote in message
news:uk**************@TK2MSFTNGP10.phx.gbl... According to http://msdn.microsoft.com/library/en...utputCache.asp and http://msdn.microsoft.com/library/en...parameters.asp, this sounds like VaryByControl directs the control to tie its caching conditions (in a way that is unclear to me) to those of child control
whose ID matches the value of the VaryByControl attribute -- not quite what I'm looking for. (I suppose that, with some work, I might be able to kludge this into what I want, but...)
I'm looking for a way to direct the control to cache itself separately for each value of an arbitrary specified property of that control. Sort of a VaryByProperty="Flag" which would cause the control to be cached
separately for each value of the control's Flag property, as specified in the
control's HTML declaration (i.e., separately for Flag="One", Flag="Two", etc.).
I'm rather suprised that a VaryByProperty attribute of the @OutputCache directive does not already exist (whether by that name or some other).
Again, unless I'm completely misunderstanding....
- Tom Kiefer thogek @ earthlink . net
"Eric Lawrence [MSFT]" <e_********@hotmail.com> wrote in message news:uJ*************@tk2msftngp13.phx.gbl... Just a guess-- Have you looked at VaryByControl?
http://msdn.microsoft.com/library/de...parameters.asp Thanks,
Eric Lawrence Program Manager Assistance and Worldwide Services
This posting is provided "AS IS" with no warranties, and confers no
rights.
"Tom Kiefer" <th*******@earthlinknot.net> wrote in message news:OM**************@TK2MSFTNGP12.phx.gbl... I'm guessing from the lack of response that there's no ready way to do what I'm looking for. :-(
If anyone from Microsoft is reading this, is there any indication that any future versions of ASP.NET might support what I attempt to describe below? - Tom Kiefer thogek @ earthlink . net
"Tom Kiefer" <th****@earthlink.net> wrote in message news:OY*************@tk2msftngp13.phx.gbl... > Question: > If I have an ASP.NET User Control which defines/exposes a property that the > page can use to specify a mode or data subset for the control to
use, is > there a way to tell the @OutputCache directive to vary its cache
based on > that property value? > > I.e., I have: > > <my:control runat="server" id="mcOne" Flag="One" /> > <my:control runat="server" id="mcTwo" Flag="Two" /> > > where Flag is a public property of the code-behind class (whose
value > affects the display output), and I want the Flag="One" instance to > output-cache separately from the Flag="Two" instance. > > So far, the control seems to output-cache only one version of the control, > and all successive displays of the control use that cached version, > regardless of the Flag attribute value. > > Other notes: > > The @OutputCache directive's VaryByParam attribute works only with
GET and > POST values. (I did try VaryByParam="Flag" anyway, to no effect.) > > Setting the @OutputCache directive's Shared attribute to "False" solves the > problem (by causing each usage of the control to cache separately), but has > the additional effect of requiring separate initial-loads and caches for > each page on which the control appears. Since I currently only have two or > three possible values of the Flag attribute, but these controls may appear > on many pages (and there is some work invovled in the initial load
of the > data for this control), this is not ideal. > > There doesn't seem to be any sort of VaryByProperty attribute for > @OutputCache (which surprises me). So... > > Any other ideas? > > - Tom Kiefer > thogek @ earthlink . net >
This discussion thread is closed Replies have been disabled for this discussion. Similar topics
reply
views
Thread by Ivan D. |
last post: by
|
reply
views
Thread by skytouch_zyt |
last post: by
|
4 posts
views
Thread by Andrea Williams |
last post: by
|
reply
views
Thread by Merkisson Jourhanssen |
last post: by
|
1 post
views
Thread by z. f. |
last post: by
|
reply
views
Thread by JJ_377 |
last post: by
|
8 posts
views
Thread by David Lozzi |
last post: by
|
3 posts
views
Thread by dave |
last post: by
|
reply
views
Thread by Randy Gault |
last post: by
| | | | | | | | | | | |