Akismet是Subtext的一个非常经典的应用方式,将过滤系统通过webservice完全托管给了Akismet,从而减小了自己的负担,相对来说还不会影响客户体验。

我们通过结构可以看到IComment,Comment,HttpClient,AkismetClient,InvalidResponseException。

IComment是评论接口,Comment继承了IComment,作用是封装了ip地址,url,评论等一些基础属性。

HttpClient说起来就就一个方法PostRequest,实际上是实现了一个post请求,并且读取返回的数据。

InvalidResponseException没什么好说的,处理200异常的。

AkismetClient是具体操作,调用HttpClient把Comment中的内容发送,InvalidResponseException来管理异常
在第一次启动时VerifyApiKey方法调用密钥,此后不用调用。
通过SubmitComment方法来拼接要发送的内容。
CheckCommentForSpam确定是否是垃圾评论,返回true是垃圾信息

Akismet的配置内容在web.config下,不多解释了,看名字就能知道个大概了。

 1  <add key="ProxyHost" value=""/>  
 2  <add key="ProxyPort" value=""/>
 3  <add key="ProxyUsername" value=""/>
 4  <add key="ProxyPassword" value=""/>
 5  <!-- Aggregate Blog Stuff -->
 6  <add key="AggregateEnabled" value="false"/>
 7  <add key="AggregateTitle" value="A Subtext Community"/>
 8  <add key="AggregateUrl" value="http://localhost/%22/>
 9  <add key="AggregateDescription" value=".NET by Subtext"/>
10  <!--UI Text -->
11  <add key="PostCollection" value="Post Categories"/>
12  <add key="ArticleCollection" value="Article Categories"/>
13  <add key="ImageCollection" value="Image Galleries"/>
14  <add key="Archives" value="Archives"/>

余下的代码说明里都有说明,是个简单但经典的应用,更多的是理念。如果想要改变验证方式的话就可以改写此处,自己接管评论管理,我国制度于他国不同所以还是建议自己管理。

转载于:https://www.cnblogs.com/dotnet010/archive/2010/05/23/1491040.html

Subtext分析3-Subtext.Akismet相关推荐

  1. 如何使用React创建视频和动画

    点击上方关注 TianTianUp,一起学习,天天进步 大家好,我是小弋. 分享的内容是: 如何使用 React Remotion 来创建视频的,如果你之前对视频很感兴趣的话,这篇文章可以参考. 正文 ...

  2. python 正则表达式判断字符串_python学习笔记|字符串与正则表达式

    总结一些字符串常用操作以及正则表达式相关 字符串基本操作 获取字符串长度 len(text) 字符串分割 word = text.split(" ") len(word) # 单词 ...

  3. 我的.Subtext二次开发之路系列:无限层次分类

    08-14 9:58 修改说明:哈!我说明了会全部放出我的所有修改啊!只是目前完成的量还不多,再加上昨晚(应该说是今天早上)没有及时清理完成整个项目包,所以就为配合文章的内容,先放出web部分了. 同 ...

  4. 轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装

    轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装   开源ASP.NET博客Subtext 目前发布了最新版2.0,是基于.Net Framework 2.0/3.0的开源ASP.NE ...

  5. subtext blog装好了,老外的文档还是写的有些问题

    subtext是原来的.Text的后继分支,似乎.Text已经没有人维护了. 一开始安装的时候遇到问题,在炎热的天气下,折腾了半天,后来终于想到了安装办法.感觉开源项目的文档普遍质量不是很高. 安装过 ...

  6. SubText 学习笔记(一)

    感谢Phil Haack以及他的团队开发出如此伟大的程序,小弟拜上~ 花了一个小时大概浏览了下,结果就是惊讶除了惊讶还是惊讶. 惊讶-1:一个如此灵活的站点它的基础竟然完全建立在UserControl ...

  7. 在GoDaddy上部署SubText

    引子: 本人原先使用的虚拟主机是一家叫海意互联的公司提供的,半年里面出现了好几次问题,基本都是Server Application Unavailable,每次都要联系他们才能恢复,这个问题我在平时也 ...

  8. subtext 安装PythonIDE -Anaconda

    安装PythonIDE -Anaconda 打开subtext,通过快捷键 cmd+shift+P 打开 Package Control 来安装其他的插件了. 输入 install 然后你就能看见屏幕 ...

  9. 我的.Subtext二次开发之路系列:引言

    话说2007年10月,因为陈诺帮助朋友学校开发一套适用于校园的社区系统,所以在经过多方搜寻.对比的基础上,最后选择了.subtext,一是因为.subtext为.text的后续版本,第二原因是.sub ...

最新文章

  1. ​有多少小伙伴用着 JDK8 却写着 JDK6 的代码
  2. mongodb 设置远程可以访问
  3. python可以做什么项目-python都能做什么
  4. mysql dba系统学习(10)innodb引擎的redo log日志的原理 mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题
  5. 第二百四十八天 how can I 坚持
  6. Oracle ORA-08591告警
  7. openstack排错
  8. elasticsearch的性能表现
  9. matlab 找到数组中第一个不连续点_超全Matlab绘图方法整理
  10. 打印5列五颗星_55组“数学顺口溜” 大九九乘法口诀表!孩子想学好数学必须背熟...
  11. office2003word解除安全模式启动
  12. 威锋十年:叫一声「果粉」,你还敢答应吗?
  13. 嵌入式系统开发笔记25:win10防火墙打开特定端口
  14. HttpClient使用详解 get与post请求
  15. 系统映像还原失败 找不到可用于恢复系统盘的磁盘
  16. 迷你linux系统安装方法,64M内存安装体验迷你版Linux操作系统Tinyme
  17. CF31D Chocolate 解题报告 *
  18. 十一、Word参考文献的跳转引用
  19. 通过Ajax实现注册登陆的表单验证,一看就会。
  20. 对软件开发中uml建模的理解和图形整理(一)

热门文章

  1. 克莱因瓶计算机模拟,一个永远装不满水的克莱因瓶? 科学家们现今也没有造出这种瓶子!...
  2. 质量管理体系标准杂谈--管理的语言(原创)
  3. 一个唾手可得的围棋世界冠军,又丢了~~
  4. HTML,CSS,JavaScript 分别是什么?
  5. CEGUI环境的搭配
  6. virtualxposed使用教程_使用VirtualXposed修改手游
  7. Yosemite作用
  8. java poker_Java超级高手成长之路!一个Java编写的斗地主游戏
  9. 实例3:爬取斗破苍穹小说全文
  10. Ubuntu IBM T43的显卡驱动安装