ASP.NET生成静态页的问题,预编译出错。挣扎!!!!!!
我碰到了问题,这回是真的不知道怎么处理好了。。。
我的本意是创建一个Html静态文件,然后,ASPX页面访问的时候,检查这个文件名是否存在,如果存在就跳转到这个静态文件。如果太旧,就删除。
string fileUrl = "~/Html/" + GetFileName();
string DiskFile = Server.MapPath(fileUrl);
if (File.Exists(DiskFile))
{
FileInfo fi = new FileInfo(Server.MapPath(fileUrl));
TimeSpan ts = DateTime.Now - fi.LastWriteTime;
if (ts.Minutes > 30))
{
File.Delete(DiskFile);
}
else
{
Server.Transfer(fileUrl);
}
}
但是我发现了一个新的问题,
本机调试运行都非常正常,只要部署到服务器上,就会提示:
XXXX.html文件没有预编译,因此不能请求该文件,然后就报错了。。。
例如提示:
The file '/Html/default.html' has not been pre-compiled, and cannot be requested.
我就不明白了,我的html文件是动态生成的,需要预编译吗?
------解决方案--------------------
你部署到服务器的方法可能出点问题,如果上传源程序,不编译应该不会有这样的问题,
解决方法:编译前,告诉编译器不编译html等文件,具体做法我也不会
还有可能你使用了伪静态,'/Html/default.html' 指向某aspx文件