我要根据View做静态化。如添加一篇文章(带分页,如果3页生成3个静态页),提交后,我想访问(访问次数根据页数而定)文章详情页(.cshtml)进行静态化,但是又不能展示出来文章详情页。
也就是说你想在cshtml第一次被访问后生成的html可以被后续直接访问,不需要再execute,其实就是outputcache的工作,如果你要得到html可以直接截取,如果要不展示出来时可以直接abort response。
第一次访问已经做了静态化,但是某些页面可能比较耗时,所以在后台添加,提交时也需要做静态化,需要模拟第一次登陆访问,但是不要显示内容,需要abort response。但是HttpWebRequest类有abort 方法,而我在OnResultExecuted(ResultExecutedContext filterContext)方法中需要abort,HttpRequestBase类没有abort方法,并且HttpRequestBase不能转换成HttpWebRequest。
已解决,我改变了静态化的方式,通过HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 获取页面的HTML,然后保存成Html文件就行了,不需要模拟访问。
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 你的这句代码的url是绝对路径,还是相对路径?
我的项目已经有静态页了,但是在action和view全部执行完毕后才会生成静态页,有没有办法可以异步访问这个action,但是页面不会展示出来?