Subtext分析3-Subtext.Akismet
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下,不多解释了,看名字就能知道个大概了。
![](/assets/blank.gif)
2
![](/assets/blank.gif)
3
![](/assets/blank.gif)
4
![](/assets/blank.gif)
5
![](/assets/blank.gif)
6
![](/assets/blank.gif)
7
![](/assets/blank.gif)
8
![](/assets/blank.gif)
9
![](/assets/blank.gif)
10
![](/assets/blank.gif)
11
![](/assets/blank.gif)
12
![](/assets/blank.gif)
13
![](/assets/blank.gif)
14
![](/assets/blank.gif)
余下的代码说明里都有说明,是个简单但经典的应用,更多的是理念。如果想要改变验证方式的话就可以改写此处,自己接管评论管理,我国制度于他国不同所以还是建议自己管理。
转载于:https://www.cnblogs.com/dotnet010/archive/2010/05/23/1491040.html
Subtext分析3-Subtext.Akismet相关推荐
- 如何使用React创建视频和动画
点击上方关注 TianTianUp,一起学习,天天进步 大家好,我是小弋. 分享的内容是: 如何使用 React Remotion 来创建视频的,如果你之前对视频很感兴趣的话,这篇文章可以参考. 正文 ...
- python 正则表达式判断字符串_python学习笔记|字符串与正则表达式
总结一些字符串常用操作以及正则表达式相关 字符串基本操作 获取字符串长度 len(text) 字符串分割 word = text.split(" ") len(word) # 单词 ...
- 我的.Subtext二次开发之路系列:无限层次分类
08-14 9:58 修改说明:哈!我说明了会全部放出我的所有修改啊!只是目前完成的量还不多,再加上昨晚(应该说是今天早上)没有及时清理完成整个项目包,所以就为配合文章的内容,先放出web部分了. 同 ...
- 轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装
轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装 开源ASP.NET博客Subtext 目前发布了最新版2.0,是基于.Net Framework 2.0/3.0的开源ASP.NE ...
- subtext blog装好了,老外的文档还是写的有些问题
subtext是原来的.Text的后继分支,似乎.Text已经没有人维护了. 一开始安装的时候遇到问题,在炎热的天气下,折腾了半天,后来终于想到了安装办法.感觉开源项目的文档普遍质量不是很高. 安装过 ...
- SubText 学习笔记(一)
感谢Phil Haack以及他的团队开发出如此伟大的程序,小弟拜上~ 花了一个小时大概浏览了下,结果就是惊讶除了惊讶还是惊讶. 惊讶-1:一个如此灵活的站点它的基础竟然完全建立在UserControl ...
- 在GoDaddy上部署SubText
引子: 本人原先使用的虚拟主机是一家叫海意互联的公司提供的,半年里面出现了好几次问题,基本都是Server Application Unavailable,每次都要联系他们才能恢复,这个问题我在平时也 ...
- subtext 安装PythonIDE -Anaconda
安装PythonIDE -Anaconda 打开subtext,通过快捷键 cmd+shift+P 打开 Package Control 来安装其他的插件了. 输入 install 然后你就能看见屏幕 ...
- 我的.Subtext二次开发之路系列:引言
话说2007年10月,因为陈诺帮助朋友学校开发一套适用于校园的社区系统,所以在经过多方搜寻.对比的基础上,最后选择了.subtext,一是因为.subtext为.text的后续版本,第二原因是.sub ...
最新文章
- ​有多少小伙伴用着 JDK8 却写着 JDK6 的代码
- mongodb 设置远程可以访问
- python可以做什么项目-python都能做什么
- mysql dba系统学习(10)innodb引擎的redo log日志的原理 mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题
- 第二百四十八天 how can I 坚持
- Oracle ORA-08591告警
- openstack排错
- elasticsearch的性能表现
- matlab 找到数组中第一个不连续点_超全Matlab绘图方法整理
- 打印5列五颗星_55组“数学顺口溜” 大九九乘法口诀表!孩子想学好数学必须背熟...
- office2003word解除安全模式启动
- 威锋十年:叫一声「果粉」,你还敢答应吗?
- 嵌入式系统开发笔记25:win10防火墙打开特定端口
- HttpClient使用详解 get与post请求
- 系统映像还原失败 找不到可用于恢复系统盘的磁盘
- 迷你linux系统安装方法,64M内存安装体验迷你版Linux操作系统Tinyme
- CF31D Chocolate 解题报告 *
- 十一、Word参考文献的跳转引用
- 通过Ajax实现注册登陆的表单验证,一看就会。
- 对软件开发中uml建模的理解和图形整理(一)
热门文章
- 克莱因瓶计算机模拟,一个永远装不满水的克莱因瓶? 科学家们现今也没有造出这种瓶子!...
- 质量管理体系标准杂谈--管理的语言(原创)
- 一个唾手可得的围棋世界冠军,又丢了~~
- HTML,CSS,JavaScript 分别是什么?
- CEGUI环境的搭配
- virtualxposed使用教程_使用VirtualXposed修改手游
- Yosemite作用
- java poker_Java超级高手成长之路!一个Java编写的斗地主游戏
- 实例3:爬取斗破苍穹小说全文
- Ubuntu IBM T43的显卡驱动安装