无法从context.Request.Form访问编码的表单数据

wys*_*wyg 5 asp.net-web-api .net-core

我正在我的请求管道中构建一些自定义中间件,如果发布的表单数据有效(挂钩到AspNetCore.Identity),它将生成JWT承载令牌.

基于Nate Barbettini的精彩教程:https://stormpath.com/blog/token-authentication-asp-net-core

我遇到了一个问题,在我的新中间件中可以访问HttpContext,抛出异常试图访问context.Reqeust.Form ["myfieldname"]

我使用postman发布表单数据:Content-Type:application/x-www-form-urlencoded

我可以调试我的中间件并检查context.Request.Form我看到这个:

Form = '((Microsoft.AspNetCore.Http.Internal.DefaultHttpRequest)((Microsoft.AspNetCore.Http.DefaultHttpContext)context).Request).Form' threw an exception of type 'System.MissingMethodException'
Run Code Online (Sandbox Code Playgroud)

如果我更改为Content-Type:multipart/form-data,我会看到以下错误:

Form = '((Microsoft.AspNetCore.Http.Internal.DefaultHttpRequest)((Microsoft.AspNetCore.Http.DefaultHttpContext)context).Request).Form' threw an exception of type 'System.IO.InvalidDataException'
Run Code Online (Sandbox Code Playgroud)

值得指出我正在使用RC2版本的Core:1.0.0-rc2-3002702 Api适用于所有Http动词,POST,PUT,GET,DELETE,我可以发布并获取数据没问题.

不明白为什么会发生这种情况或者我错过了一些基本的配置?从VS 2015模板开始,当前配置几乎是标准配置.

这可能是RC2的错误吗?