Относительно примечания Peter Lawrey, что Вы не нуждаетесь в instanceof для заключительных классов и можете просто использовать ссылочное равенство, быть осторожными! Даже при том, что заключительные классы не могут быть расширены, они, как гарантируют, не будут загружены тем же classloader. Только используйте x.getClass () == SomeFinal.class или его род, если Вы абсолютно положительны, что существует только один classloader в игре для того раздела кода.
Используйте Server.MapPath ("/ path / to / file")
и передайте результат этого в File.ReadAllText ()
:
String template = File.ReadAllText(Server.MapPath("~/Templates/") + filename);
Вы также можете использовать этот фрагмент кода.
using System.IO;
using System.Web.Hosting;
using (StreamReader sr = new StreamReader(VirtualPathProvider.OpenFile("~/foo.txt")))
{
string content = sr.ReadToEnd();
}