方案是这样:asp.net2.0 / website project
选中vs2005项目属性-msbuild options-use fixed naming and single page assemblies
这样deploy的站点只有bin下一个主要的程序集,还有根目录下一些空的aspx文件和config文件。
怎么样去掉这些空的aspx文件?
很明显这些aspx文件只是用来匹配客户端请求入口,虽然微软默认不让删除,用编辑器打开也只有一行警告文字,但我知道可行的做法是写ASHX handler,程序中执行请求的文件。如请求首页:
public class Loader : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
MyProject.DefaultASPX_PAGE Page = new MyProject.DefaultASPX_PAGE();
Page.ProcessRequest(context);
}
public bool IsReusable {
get
{
return false;
}
}
}
微软在出asp.net2 beta的时候,就一直在宣传一个预编译站点的特性 - 可以编译所有文件到一个程序集,这其中包含aspx文件。