Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# (Web API Post方法)异常处理 [HttpPost] 公共IActionResult Post([FromBody]字符串值) { 字符串customMessage=“”; int userId=GetUserIdFromUserInfo(); //从输入字符串值重建有用的对象。 动态missionWinput=JsonConvert.DeserializeObject(值); 任务synopsis newMission=新任务synopsis(); 尝试 { newMission.MissionSynopsisName=MissionNewInput.MissionSynopsisName.Value; newMission.CreatedById=userId; newMission.UpdatedById=用户ID; Database.MissionSynopses.Add(newMission); SaveChanges(); } 捕获(异常对象) { 如果(exceptionObject.InnerException.Message .Contains(“MissionSynopsis\u MissionSynopsisName\u UniqueConstraint”)==true) { customMessage=“无法保存”; 对象httpFailRequestResultMessage=new{message=customMessage}; 返回BadRequest(httpFailRequestResultMessage); } } }_C#_Post_Asp.net Web Api_Exception Handling - Fatal编程技术网

C# (Web API Post方法)异常处理 [HttpPost] 公共IActionResult Post([FromBody]字符串值) { 字符串customMessage=“”; int userId=GetUserIdFromUserInfo(); //从输入字符串值重建有用的对象。 动态missionWinput=JsonConvert.DeserializeObject(值); 任务synopsis newMission=新任务synopsis(); 尝试 { newMission.MissionSynopsisName=MissionNewInput.MissionSynopsisName.Value; newMission.CreatedById=userId; newMission.UpdatedById=用户ID; Database.MissionSynopses.Add(newMission); SaveChanges(); } 捕获(异常对象) { 如果(exceptionObject.InnerException.Message .Contains(“MissionSynopsis\u MissionSynopsisName\u UniqueConstraint”)==true) { customMessage=“无法保存”; 对象httpFailRequestResultMessage=new{message=customMessage}; 返回BadRequest(httpFailRequestResultMessage); } } }

C# (Web API Post方法)异常处理 [HttpPost] 公共IActionResult Post([FromBody]字符串值) { 字符串customMessage=“”; int userId=GetUserIdFromUserInfo(); //从输入字符串值重建有用的对象。 动态missionWinput=JsonConvert.DeserializeObject(值); 任务synopsis newMission=新任务synopsis(); 尝试 { newMission.MissionSynopsisName=MissionNewInput.MissionSynopsisName.Value; newMission.CreatedById=userId; newMission.UpdatedById=用户ID; Database.MissionSynopses.Add(newMission); SaveChanges(); } 捕获(异常对象) { 如果(exceptionObject.InnerException.Message .Contains(“MissionSynopsis\u MissionSynopsisName\u UniqueConstraint”)==true) { customMessage=“无法保存”; 对象httpFailRequestResultMessage=new{message=customMessage}; 返回BadRequest(httpFailRequestResultMessage); } } },c#,post,asp.net-web-api,exception-handling,C#,Post,Asp.net Web Api,Exception Handling,System.NullReferenceException:“对象引用未设置为对象的实例。” 在catch部分的if语句中弹出。我如何解决这个问题 将其更改为exceptionObject?.InnerException?.Message?.Contains以防止任何属性nullInnerException很可能为null,因此无法访问消息。我尝试的exceptionObject?的可能重复。InnerException?消息?包含。但是它没有显示任何错误,相反,什么也没有发生,甚至自定义消息也

System.NullReferenceException:“对象引用未设置为对象的实例。”


在catch部分的if语句中弹出。我如何解决这个问题

将其更改为
exceptionObject?.InnerException?.Message?.Contains
以防止任何属性
null
InnerException
很可能为null,因此无法访问
消息
。我尝试的exceptionObject?的可能重复。InnerException?消息?包含。但是它没有显示任何错误,相反,什么也没有发生,甚至自定义消息也没有。如何使InnerException不为null?
[HttpPost]
public IActionResult Post([FromBody]string value)
{
    string customMessage = "";
    int userId = GetUserIdFromUserInfo();
    //Reconstruct a useful object from the input string value. 
    dynamic missionNewInput = JsonConvert.DeserializeObject<dynamic>(value);
    MissionSynopsis newMission = new MissionSynopsis();

    try
    {   
        newMission.MissionSynopsisName = MissionNewInput.MissionSynopsisName.Value;
        newMission.CreatedById = userId;
        newMission.UpdatedById = userId;

        Database.MissionSynopses.Add(newMission);
        Database.SaveChanges();
    }
    catch (Exception exceptionObject)
    {
        if (exceptionObject.InnerException.Message
                  .Contains("MissionSynopsis_MissionSynopsisName_UniqueConstraint") == true) 
        {
            customMessage = "Unable to save ";


            object httpFailRequestResultMessage = new { message = customMessage };

            return BadRequest(httpFailRequestResultMessage);
        }
    }
}