问题描述
更新1 :我禁用了SSL,但仍然存在问题。因此,可能与升级OWIN有关。
更新2 :我从头开始,找出导致中断的原因。它将Newstonsoft.JSON从6.0.4升级到10.0.1(最新版本12.0.3也会导致中断)。它是Microsoft.Owin.Security.Google的依赖项。
我正在使用ASP.NET 4.5.2。
我试图在我的网站上使用外部登录,但我发现这样做必须将OWIN升级到最新版本,并将SSL Enabled设置为'true'。我可以使用外部登录名,但是这样做导致我破坏了我的网站。
除某些POSTS之外,一切都正常。通过检查,看来中断的请求是较大的请求(〜3KB)。
我已经与fiddler一起检查了请求,发现请求发送得很好。但是,当它们命中Controller时,model
参数将设置为null
。
以下是中断代码的示例:
[Authorize]
[HttpPost]
[Route("api/Calculation/calcProject")]
public IHttpActionResult Post_CalcProject(Projectviewmodel model)
{
return InvokeOfBS<Projectviewmodel,ProjectResultModel>(_calculationBMS.CalcProject,model);
}
参数model
是Projectviewmodel
,但已设置为null
。
作为一个实验,我将model
参数更改为TotalProjectCostviewmodel
,该字段的字段比Projectviewmodel
少。有趣的是,model
未设置为null
。相反,它是一个空的TotalProjectCostviewmodel
(这很有意义,因为请求JSON不是针对该模型的。)
这是POST代码(TypeScript):
calcProject(model: Projectviewmodel): Observable<any> {
return this.http.post('/api/Calculation/calcProject',model,options)
.map(this.extractDataPost).catch(this.handleError);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)