- Extensible through the following interfaces (giving almost unlimited flexibility concerning what the actual captcha is: jpeg, flash, etc):
- ICaptchaFactory
- ICaptchaValidator
- IContentProvider
- IErrorProvider
- IImageCodecInfo
- IGraphicsDrawing
- IChallengeCodeProvider
- ITuringNumberProvider
- IVaryByCustomProvider (used by CaptchaHandler)
- Challenge cache is configurable so gives you ability to use captcha in distributed scenario (by using SessionCache or Memchached client implementations of ICache).
- Capable respond to multiple url paths giving you ability to use multiple captchas (with respect ot look and feel) in a single application.
- Configuration Options (see CaptchaOptionNames and CaptchaOptionDefaults).
- Comes with two implementations:
- SimpleCaptchaHandler (renders a new captcha on each request).
- CaptchaHandler (high performance captcha utilizing asp.net caching).
- CaptchaInstrumentationProvider (performance counters)
Consider MaxVaryCacheSize/VaryByCacheLifetime as a minimal throughput rate under which the captch cache is “activated” (applies to default captcha factory).