Click here to Skip to main content
15,886,919 members
Home / Discussions / C#
   

C#

 
GeneralRe: Client / Server Pin
Dave Kreskowiak29-Apr-04 8:45
mveDave Kreskowiak29-Apr-04 8:45 
GeneralRe: Multi-threading in a web service Pin
mjmcinto29-Apr-04 6:16
mjmcinto29-Apr-04 6:16 
GeneralRe: Multi-threading in a web service Pin
Andy Brummer29-Apr-04 6:39
sitebuilderAndy Brummer29-Apr-04 6:39 
GeneralRe: Multi-threading in a web service Pin
Heath Stewart29-Apr-04 6:49
protectorHeath Stewart29-Apr-04 6:49 
GeneralRe: Multi-threading in a web service Pin
mjmcinto29-Apr-04 12:44
mjmcinto29-Apr-04 12:44 
GeneralRe: Multi-threading in a web service Pin
Heath Stewart29-Apr-04 14:24
protectorHeath Stewart29-Apr-04 14:24 
GeneralRe: Multi-threading in a web service Pin
mjmcinto30-Apr-04 2:45
mjmcinto30-Apr-04 2:45 
GeneralRe: Multi-threading in a web service Pin
Heath Stewart30-Apr-04 3:14
protectorHeath Stewart30-Apr-04 3:14 
First, you shouldn't call Cache.Remove: the callback is invoked after the item - and remember there could be multiple objects in the cache with different keys - is removed, but you need to be mindful of the key. The following example should work:
// Somewhere in your constructor or some other
// initialization method call CacheFile with the appropriate key
private const string KEY1 = "File1.txt";
private const string KEY2 = "File2.txt";
private void CacheFile(string key)
{
  if (key == null) throw new ArgumentNullException("key");
  if (key.Length == 0) throw new ArgumentException("Invalid key.");
  if (Cache[key] == null)
  {
    string path = Server.MapPath("/docs/" + key);
    using (StreamReader reader = new StreamReader(path))
    {
      Cache.Add(
        key,
        reader.ReadToEnd(),
        new CacheDependency(path),
        Cache.NoAbsoluteExpiration,
        Cache.NoSlidingExpiration,
        CacheItemPriority.AboveNormal,
        new CacheItemRemovedCallback(CacheItemRemoved));
    }
  }
}
private void CacheItemRemoved(string key, object value,
  CacheItemRemovedReason reason)
{
  if (key == KEY1) CacheFile(KEY1);
  else if (key == KEY2) CacheFile(KEY2);
  // else: must've been something else - the point is to check the 'key'
}
public string File1Content
{
  get
  {
    CacheFile(KEY1);
    return Cache[KEY1];
  }
}
public string File2Content
{
  get
  {
    CacheFile(KEY2);
    return Cache[KEY2];
  }
}


 

Microsoft MVP, Visual C#
My Articles
Generalprinting multiple pages Pin
nmah29-Apr-04 5:07
nmah29-Apr-04 5:07 
GeneralRe: printing multiple pages Pin
Heath Stewart29-Apr-04 5:37
protectorHeath Stewart29-Apr-04 5:37 
GeneralRe: printing multiple pages Pin
nmah29-Apr-04 7:26
nmah29-Apr-04 7:26 
GeneralRe: printing multiple pages Pin
Heath Stewart29-Apr-04 8:28
protectorHeath Stewart29-Apr-04 8:28 
GeneralRe: printing multiple pages Pin
nmah29-Apr-04 8:32
nmah29-Apr-04 8:32 
GeneralRe: printing multiple pages Pin
..Hubert..29-Apr-04 5:42
..Hubert..29-Apr-04 5:42 
GeneralScrewed up a service. Pin
Xian29-Apr-04 4:58
Xian29-Apr-04 4:58 
GeneralRe: Screwed up a service. Pin
Heath Stewart29-Apr-04 5:24
protectorHeath Stewart29-Apr-04 5:24 
GeneralRe: Screwed up a service. Pin
Xian29-Apr-04 5:47
Xian29-Apr-04 5:47 
QuestionHow to Make a MDI form itself XP theme aware Pin
TaoLi29-Apr-04 3:54
TaoLi29-Apr-04 3:54 
AnswerRe: How to Make a MDI form itself XP theme aware Pin
Heath Stewart29-Apr-04 4:25
protectorHeath Stewart29-Apr-04 4:25 
AnswerRe: How to Make a MDI form itself XP theme aware Pin
Heath Stewart29-Apr-04 4:27
protectorHeath Stewart29-Apr-04 4:27 
GeneralRe: How to Make a MDI form itself XP theme aware Pin
TaoLi29-Apr-04 4:37
TaoLi29-Apr-04 4:37 
GeneralRe: How to Make a MDI form itself XP theme aware Pin
Jon G29-Apr-04 5:24
Jon G29-Apr-04 5:24 
GeneralRe: Calling an exported Function - Issue with different calling convention in C# Pin
Heath Stewart29-Apr-04 3:09
protectorHeath Stewart29-Apr-04 3:09 
QuestionRichTextBox-Coul you help me out? Pin
kumaru_san29-Apr-04 2:31
kumaru_san29-Apr-04 2:31 
GeneralNewbie: login screen Pin
ziwez029-Apr-04 2:15
ziwez029-Apr-04 2:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.