当我尝试从AngularJS发布到控制器时,如何调试MVC为什么返回500错误?没有异常被抛出。

这是我的AngularJS代码

var recordingRequest = {
    deviceSerial: 2160563840,
    plannedStartTime: "2015-08-07T14:29",
    recordingDuration: 60,
    recordingDurationIsMinutes: true
}


发布数据的服务:

deviceAPI.addDeviceRecording = function (recordingRequest) {
    // Request data
    return $http.post("/devices/adddevicerecording/", recordingRequest);
}


最后是MVC控制器入口点:

[HttpPost]
public ActionResult AddDeviceRecording(int deviceSerial, string plannedStartTime, int recordingDuration, bool recordingDurationIsMinutes)
{
}


我放入AddDeviceRecording函数中的任何断点都不会被击中。我知道它的作用,因为它给出500而不是404。如果我将$http.post更改为指向随机URL,则会得到404。

最佳答案

您的设备序列号太高。

C#中Int32的最大值为2,147,483,647,您的设备序列号为2,160,563,840。

您需要更改数据类型

09-08 09:08