public ActionResult EditClient(ClientViewModel model) { Message message = new Message(); message.Success = true; if (!ModelState.IsValid) { message.Success = false; message.Content = ModelStateError(); return(Json(message)); } if (string.IsNullOrEmpty(model.Id)) { message.Success = false; message.Content = "Edit fail:Id is null "; return(Json(message)); } try { //先删除,再新增 var clientDelete = _clientContext.Clients.FirstOrDefault(c => c.Id == new Guid(model.Id)); _clientContext.Remove(clientDelete); #region Add Client Client client = new Client(); client.ClientId = model.ClientId; client.ClientName = model.ClientName; client.ClientUri = model.ClientUri; client.Flow = (Flows)(System.Convert.ToInt32(model.Flow)); client.RequireConsent = model.RequireConsents; if (!string.IsNullOrEmpty(model.ClientSecret)) { client.ClientSecrets = new List <Secret>() { new Secret(model.ClientSecret.Sha256()) }; } if (!string.IsNullOrEmpty(model.RedirectUri)) { client.RedirectUris = model.RedirectUri.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); } client.AllowedScopes = new List <string> { StandardScopes.OpenId.Name, StandardScopes.Profile.Name, StandardScopes.Email.Name, StandardScopes.Roles.Name, "dpcontrolapiscope" }; AddClients(client); #endregion } catch (Exception e) { message.Success = false; message.Content = "Edit failed :" + e.Message; } return(Json(message)); }