我已经实施了一个基于Tridion UGC API的垃圾邮件filter,现在我想configuration我的UGC Web服务来使用它。 到目前为止,通过服务添加评论时,垃圾邮件filter似乎不会被调用。 我目前的configuration如下:
我已经将程序集DLL放在Web服务应用程序的bin目录中。 我编辑了web.config文件来添加以下内容:
<appSettings> <add key="Comment.SpamFilter.Implementation" value="UGCDemo.BadWordsFilter"/> <add key="Comment.SpamFilter.Assembly" value="SpamFilter.dll"/> </appSettings
我可以validation实现类和程序集的名称,如下面的PowerShell输出所示:
PS C:\inetpub\LiveCDService > ls Directory: C:\inetpub\LiveCDService Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 5/28/2012 5:05 PM bin -a--- 11/4/2011 3:38 PM 212 access_token.svc -a--- 11/4/2011 3:38 PM 323 Global.asax -a--- 11/4/2011 3:38 PM 138 linking.svc -a--- 11/4/2011 3:38 PM 198 odata.svc -a--- 5/28/2012 5:41 PM 11073 Web.config -a--- 5/28/2012 5:10 PM 11073 Web.config~ PS C:\inetpub\LiveCDService > add-type -path .\bin\SpamFilter.dll PS C:\inetpub\LiveCDService > $foo = new-object UGCDemo.BadWordsFilter PS C:\inetpub\LiveCDService > $foo | gm TypeName: UGCDemo.BadWordsFilter Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() ValidateComment Method Tridion.ContentDelivery.UGC.Web.Model.Comment Valid
我有在debugging模式下的日志logging,我看不到任何可能涉及加载垃圾邮件filter程序集或任何类似的输出。 可能需要其他configuration更改才能使此function正常工作? 我可以运用哪些其他testing来发现更多的问题?
我认为问题是试图在Web服务中安装SpamFilter。 如文档中所述,必须在Web应用程序中configurationSpamFilter:
3-打开位于Web应用程序的根文件夹中的UGC Web应用程序的configuration文件web.config,configuration垃圾邮件filter
劳尔是正确的…. UGC的SpamFilter需要在实际网站上configuration,而不是在UGC WebService中configuration。 请注意,在调用UGC WS之前,由UGC ServerControls调用SpamFilter。 查看官方文档了解更多详情
希望这可以帮助。