How to remove a compiled type from the cache

Discussion in 'ASP .Net' started by Marvin Landman, Oct 25, 2009.

  1. Hi,

    I have implemented a custom VirtualPathProvider that generates source
    code. The source code is changing periodically but BuildManager is
    caching the results.

    How could I force a recompilation or invalidate the cache for my
    generated code?

    Thanks.

    Regards,
    Marvin
     
    Marvin Landman, Oct 25, 2009
    #1
    1. Advertising

  2. Hi Marvin,

    >I have implemented a custom VirtualPathProvider that generates source
    >code. The source code is changing periodically but BuildManager is
    >caching the results.


    >How could I force a recompilation or invalidate the cache for my
    >generated code?


    In your custom VirtualPathProvider class you can override GetCacheKey and
    return something random to do so:

    public override string GetCacheKey(string virtualPath)
    {
    return Guid.NewGuid().ToString();
    }

    Please have a test and let me know if it works.

    Regards,
    Allen Chen
    Microsoft Online Support

    Delighting our customers is our #1 priority. We welcome your comments and
    suggestions about how we can improve the support we provide to you. Please
    feel free to let my manager know what you think of the level of service
    provided. You can send feedback directly to my manager at:
    .

    ==================================================
    Get notification to my posts through email? Please refer to
    http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

    Note: MSDN Managed Newsgroup support offering is for non-urgent issues
    where an initial response from the community or a Microsoft Support
    Engineer within 2 business day is acceptable. Please note that each follow
    up response may take approximately 2 business days as the support
    professional working with you may need further investigation to reach the
    most efficient resolution. The offering is not appropriate for situations
    that require urgent, real-time or phone-based interactions. Issues of this
    nature are best handled working with a dedicated Microsoft Support Engineer
    by contacting Microsoft Customer Support Services (CSS) at
    http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx
    ==================================================
    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Allen Chen [MSFT], Oct 26, 2009
    #2
    1. Advertising

  3. Hi Marvin,

    >I have implemented a custom VirtualPathProvider that generates source
    >code. The source code is changing periodically but BuildManager is
    >caching the results.


    >How could I force a recompilation or invalidate the cache for my
    >generated code?


    Sorry, by overriding GetCacheKey and return something random we may
    increase memory infinitely. Another approach you can try is to override
    GetCacheDependency method:

    public override System.Web.Caching.CacheDependency
    GetCacheDependency(string virtualPath, System.Collections.IEnumerable
    virtualPathDependencies, DateTime utcStart)
    {
    return new CacheDependency(@"file path"); //By changing the content
    of the file you can update cached data
    // You can also use SqlCacheDependency or your custom
    CacheDependency to meet your needs.
    }

    Can you test it to see if it can solve this issue?

    Regards,
    Allen Chen
    Microsoft Online Support

    Delighting our customers is our #1 priority. We welcome your comments and
    suggestions about how we can improve the support we provide to you. Please
    feel free to let my manager know what you think of the level of service
    provided. You can send feedback directly to my manager at:
    .

    ==================================================
    Get notification to my posts through email? Please refer to
    http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

    Note: MSDN Managed Newsgroup support offering is for non-urgent issues
    where an initial response from the community or a Microsoft Support
    Engineer within 2 business day is acceptable. Please note that each follow
    up response may take approximately 2 business days as the support
    professional working with you may need further investigation to reach the
    most efficient resolution. The offering is not appropriate for situations
    that require urgent, real-time or phone-based interactions. Issues of this
    nature are best handled working with a dedicated Microsoft Support Engineer
    by contacting Microsoft Customer Support Services (CSS) at
    http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx
    ==================================================
    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Allen Chen [MSFT], Oct 27, 2009
    #3
  4. > Sorry, by overriding GetCacheKey and return something random we may
    > increase memory infinitely. Another approach you can try is to override
    > GetCacheDependency method:
    >
    > public override System.Web.Caching.CacheDependency
    > GetCacheDependency(string virtualPath, System.Collections.IEnumerable
    > virtualPathDependencies, DateTime utcStart)
    > {
    > return new CacheDependency(@"file path"); //By changing the content
    > of the file you can update cached data
    > // You can also use SqlCacheDependency or your custom
    > CacheDependency to meet your needs.
    > }
    >
    > Can you test it to see if it can solve this issue?


    Thank you very much this perfectly fits my needs.

    Marvin
     
    Marvin Landman, Oct 28, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jeff Nokes

    Cache::Cache Stale Segments

    Jeff Nokes, Sep 30, 2003, in forum: Perl
    Replies:
    0
    Views:
    589
    Jeff Nokes
    Sep 30, 2003
  2. DesignerX

    Page.Cache vs HttpContext.Current.Cache

    DesignerX, Jan 20, 2004, in forum: ASP .Net
    Replies:
    5
    Views:
    8,293
    vMike
    Jan 20, 2004
  3. =?Utf-8?B?b25l?=
    Replies:
    1
    Views:
    5,313
    Karl Seguin [MVP]
    Mar 8, 2006
  4. Klaus Schneider
    Replies:
    1
    Views:
    564
    Rolf Magnus
    Dec 2, 2004
  5. lander
    Replies:
    5
    Views:
    609
    bruce barker
    Mar 5, 2008
Loading...

Share This Page