Bruno Lopes - 467 - Mar 17, 2014

Is there a way to disable request validation for specific requests in servicestack?

I’m trying to accept HTML in one of the requests, using the following DTO:

    [Route("/post", Verbs = “POST”)]
    public class PublishPost
    {
        public string Title { get; set; }
        public HtmlString Body { get; set; }
    } 

But a request fails with HttpRequestValidationException.
An answer in stack overflow at http://stackoverflow.com/questions/14076483/potentially-dangerous-request-servicestack shows a solution that disables for the entire site, but that might be overkill.

Could I turn it off just for requests that include an implementation of  IHtmlString?

The Request Validation is an ASP.NET feature that validates a request before it reaches any ASP.NET HttpHandler, I’m not sure of anyway to disable it per request.

It looks like there may be options in .NET 4.5:
http://weblogs.asp.net/sreejukg/archive/2011/12/20/new-request-validation-features-in-asp-net-4-5.aspx

Bruno Lopes:

Thanks for the pointer. A quick check (removing the Body from the DTO and accessing ((HttpRequestBase)Request.OriginalRequest).Unvalidated[“Body”] directly ) still gives me an error, so for now I think I’ll still remove the validation from the entire site.