题
我们正在建设一个CMS。该网站将建造和管理由用户在aspx页,但我们希望创建一个静态网站HTML。我们正在做它现在是代码,我发现 在这里, 重载的呈示方法在Aspx页和编写HTML string文件。这一工作的现为一个单页,但事情与我们的CMS的是,我们想要将自动创建一些HTML网页的网站,从一开始,甚至在创作者编辑的任何东西的系统。任何人都不会知道的任何方式做到这一点?
解决方案
叫 Render
方法仍然是相当简单。只是创建一个实例的网页上,创建一个桩 WebContext
随着 WebRequest
对象,并呼叫 Render
方法的网页。你是那么以自由地做任何你想要的结果。
或者,写入一点 curl
或 wget
脚本来下载和存储取页你想静态的。
其他提示
我似乎找到了解决方案我problemby使用的服务器。Ecxcute方法。
我发现一个 文章 这demonstared使用:
TextWriter textWriter = new StringWriter();
Server.Execute("myOtherPage.aspx", textWriter);
然后我做了一些maniulatons的形式,并将其插入一个html文件。等瞧!它的工作!
你可以使用wget(a命令行工具)递归查询每一页,并将它们保存为html文件。它将更新所有必要的联系中得到html以参考。html文件代替。aspx。这种方式,可以代码,所有你的网站因为如果你使用服务器生成的网页(较容易测试),然后将其转换为静态网页。
如果你需要HTML静态性能的原因,唯一的,我希望可以使用ASP.Net 产出高速缓存。
我建议你这样做的一个非常简单的方法和不要在代码。它会让你CMS码做什么CMS码应该做的和将保持尽可能简单。
使用的产品,例如 HTTrack.它呼吁本身就是一个"网站的复印机".它爬一个网站,并建立html输出。这是快速和自由。你可以只要它在运行的任何频你认为是最好的。
它分离HTML输出需要从你的CMS设计和实施。它可降低复杂性并为您提供了一些灵活的输出HTML没有引入点的失败在你的CMS代码。
@ckarras:我不想使用一个外部工具,因为我想HTML网页创建的编程方式和不手动。
@jttraino:我没有时间间隔在其网站需要输出-所uotput有时要发生的用户创建一个新的网站。
@弗兰克*克鲁格:我不真正理解如何创建的一个实例,我页使用WebContext和问福汇,他们说.
我搜索"wget"在 searchdotnet, ,并得到了 后 关于一个.净类称为Web客户端.它似乎做什么我想如果我利用DownloadString()方法得到一串从一个特定的网址。问题是,因为我们CMS需要登录到,当方法试图达到的页它扔到登录网页,因此返回的登录。aspx HTML...
任何想法,因为要我怎么可以继续从这里?