В зависимости от того, сколько у вас файлов или как часто вы должны их читать, я бы предложил динамически загружать их в кэш asp.net. AS они вам нужны и имеют какой-то срок действия или кеш.
Напишите некоторый тип класса, чтобы обернуть вас доступом к файлам и реализацией кэширования. Этот код, вероятно, будет работать, но не используйте его как есть, это просто для того, чтобы вы поняли, о чем я говорю. Пожалуйста, не все комментарии для улучшения.
public static class StaticFiles
{
public static string GetFile(string file)
{
// Note filename is the key
if (Cache[file] != null)
{
// Return the cached data, this will be fast.
return Cache[file].ToString();
}
else
{
// Make sure you do some exception checking / validation here for the
// file data and don't hard code the path and make it relative assuming
// it is in your application directory
// Do you file access and store it with some type of expiry
string output = System.IO.File.ReadAllText(string.Format("c:\path\to\{0}", file));
Cache[file] = output;
return output;
}
}
}
Вам следует учесть срок действия вашего кеша и посмотреть, что лучше всего подойдет вашим данным. Вы также можете реализовать некоторый тип проверки max, чтобы разрешить максимальное количество кэшируемых файлов, чтобы объем памяти не увеличивался, если срок действия слишком велик. Вам действительно нужно посмотреть на общее количество файлов и их размер и выяснить, что лучше всего подойдет вам.