IIS 7.5: sending http status code 422 with custom errors on

后端 未结 2 1143
北恋
北恋 2021-01-17 15:04

I use custom action filter in asp.net mvc app to return http status code 422 and json list of validation errors (basically serialized model state dictionary) to client, wher

相关标签:
2条回答
  • 2021-01-17 15:31

    If web server is configured to pass through existing response, it will return json contents to browser.

    <system.webServer>
      <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough">
      </httpErrors>
    </system.webServer>
    

    MSDN: httpErrors Element [IIS Settings Schema]

    0 讨论(0)
  • 2021-01-17 15:31

    Make the following settings for IIS 7.5, this works fine for me, the most important thing here was the installation of the existingResponse="Replace":

    <httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace" detailedMoreInformationLink="http://YouLink" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
                <error statusCode="401" prefixLanguageFilePath="" path="C:\path\to\401.htm" responseMode="File" />
                <error statusCode="403" prefixLanguageFilePath="" path="C:\path\to\403.htm" responseMode="File" />
                <error statusCode="404" prefixLanguageFilePath="" path="C:\path\to\404.htm" responseMode="File" />
                <error statusCode="405" prefixLanguageFilePath="" path="C:\path\to\405.htm" responseMode="File" />
                <error statusCode="406" prefixLanguageFilePath="" path="C:\path\to\406.htm" responseMode="File" />
                <error statusCode="412" prefixLanguageFilePath="" path="C:\path\to\412.htm" responseMode="File" />
                <error statusCode="500" prefixLanguageFilePath="" path="C:\path\to\500.htm" responseMode="File" />
                <error statusCode="501" prefixLanguageFilePath="" path="C:\path\to\501.htm" responseMode="File" />
                <error statusCode="502" prefixLanguageFilePath="" path="C:\path\to\502.htm" responseMode="File" />
                <error statusCode="400" prefixLanguageFilePath="" path="C:\path\to\400.htm" responseMode="File" />
    </httpErrors>
    
    0 讨论(0)
提交回复
热议问题