25 February 2010 - 5:38 PM
The amount of comment spam I have been getting on this blog has increased significantly in recent months, and I decided it was finally time to do something about it. I have been using an Akismet comment filtering extension for a long time now but the flow of comment spam continued to rise. There is now an Akismet extension included in BlogEngine.NET 1.6 and I will continue to use it because the more layers of protection the better.
I wanted to complement the Akismet extension with a CAPTCHA based solution and figured that the problem would no doubt have already been tackled by someone else. This was certainly the case, and after settling on this solution outlined by Michael Ceranski, I had the implementation deployed and working in a couple of minutes. The only hesitation I had with the solution is that it requires changes to the BlogEngine.NET code, and I will have to remember to merge them into newer versions when I upgrade. I usually have a number of changes to merge during an upgrade anyway, and if the end result is less spam then it will be well worth it. Now to wait and see how well this CAPTCHA based solution works.
24 February 2010 - 5:56 PM
There is another WSCF.blue update (V1.0.7) available for download on CodePlex. This update adds support for Visual Studio 2010 RC in addition to Visual Studio 2008. Please note that Visual Studio 2010 Beta 2 is not supported.
All features should work exactly the same way in both versions of Visual Studio. If you have any problems please jump onto the Issue Tracker and let us know.
I would also love to hear more about what features you would like to see in upcoming versions of WSCF.blue. If you have any thoughts please contact me or simply start a thread in the Discussions forum. Your feedback is always welcome.
18 February 2010 - 6:20 PM
There is now a V1.0.6 update for WSCF.blue that includes fixes for a number of bugs that have been reported since the V1.0.5 release. It has taken some large and complex contracts to uncover some of the more obscure bugs. Below is a list of the bugs that have been fixed:
- The data contract type filter was not including all the required types in some complex contracts.
- When adjusting the casing of enumeration members references in
DefaultValue attributes and constructors were not being updated.
- When using the List<T> option along with the Public properties option the backing field used for properties was sometimes left as an array instead of a generic list.
- When using the List<T> option along with the Public properties option the backing field used for properties with an
XmlChoiceIdentifier attribute was converted to a generic list instead of being left as an array to match the property.
- Fixed an Adjust casing bug related to enumeration values that cannot be used as valid property names. The
XmlEnumAttribute was being set to the generic ItemX property name instead of being left with the value from the original enumeration.
If you have any problems with the update please let us know through the Issue Tracker. Thanks to everyone who has reported bugs.
17 February 2010 - 6:14 AM
With this latest release of the recently acquired Reflector tool, Red Gate have provided both free and paid versions. The free version only has a couple of new features, the first of which was already available in the TestDriven.NET add-in for Visual Studio:
- Jump straight to .NET Reflector from Visual Studio
- Support for .NET 4 assemblies
Red Gate have decided to bundle a trial of the paid version along with the free one. Even though they are still releasing a free version, I find the forced bundling of the trial a little annoying. They are certainly trying to sell this as a good thing on their website:
The paid version, marketed as .NET Reflector Pro, is actually a Visual Studio add-in and offers some additional features:
- Integrates the power of .NET Reflector into Visual Studio
- Decompile third-party assemblies from within VS
- Step through decompiled assemblies and use all the debugging techniques you would use on your own code
These certainly are very cool features, but ones that I would like to be given the option of trailing. Regardless, at the end of the day Reflector is still free, and still rocks!