网站页面上值得参考的部分
BlogEngine.Net的成功不仅在于它的架构设计,它的代码实现细节也都是很经典的,每个结构分割的很清晰很自然,希望大家多多品位一下。在这篇文章里我将给大家介绍一下BlogEngine.Net的Web实现上的几个亮点,包括Web.config,Ajax的运用等。
Web.config中的几个结点说明
让我们看一下appSettings结点中的各个选项的含义,以便您对整个BlogEngine.Net的认识更加清晰。
BlogEngine.FileExtension:在这里我们可以自定义Url请求的后缀名称,默认是.aspx。您可以定义自己喜欢的扩展名,例如.extguo,那么对于文章等生成的Url就成了类似http://HostName/CategoryName/PostTitle.extguo的形式。这个结点的使用在很多地方都可以见到,例如:
Post类中的RelativeLink
1public string RelativeLink 2{ 3 get 4 { 5 string slug = Utils.RemoveIllegalCharacters(Slug) + BlogSettings.Instance.FileExtension; 6 7 if (BlogSettings.Instance.TimeStampPostLinks) 8 return Utils.RelativeWebRoot + "post/" + DateCreated.ToString("yyyy/MM/dd/", CultureInfo.InvariantCulture) + slug; 910 return Utils.RelativeWebRoot + "post/" + slug;11 }12}
BlogSettings.Instance.FileExtension就是读取这个结点获得的扩展名。
BlogEngine.VirtualPath:主要是为一些文章等的链接而服务的。我们可以使用虚拟目录安装我们的BlogEngine.Net,那么我们只要设置一下这里就可以得到和直接在根目录下一样的效果。我们需要注意一下Utils关于Url处理的部分,其中:
Utils中的RelativeWebRoot
1public static string RelativeWebRoot 2{ 3 get 4 { 5 if (_RelativeWebRoot == null) 6 _RelativeWebRoot = VirtualPathUtility.ToAbsolute(ConfigurationManager.AppSettings["BlogEngine.VirtualPath"]); 7 8 return _RelativeWebRoot; 9 }10}
就是获得相对Web目录。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索instance
, 结点
, utils
扩展名
,以便于您获取更多的相关知识。