HttpPut и HttpDeletes ограничены некоторыми брандмауэрами, поэтому иногда используются просто HttpPost и HttpGet.Если идентификатор записи передается (или некоторым другим критериям), вы знаете, что это обновление.Конечно, это вы должны определить, httpput может нормально работать для вас, это всего лишь предупреждение, обычно это не имеет большого значения.
Любой используемый метод - остерегайтесь пользователей, пытающихся ввести ложные идентификаторы на страницу, чтобы принудительно обновить записи, к которым у них нет доступа.Я могу обойти эту проблему, хэшируя в этом случае home.HomeId в представлении, когда мы отображаем его
ViewData["IdCheck"] = Encryption.ComputeHash(home.HomeId.ToString());
в вашем представлении:
<%: Html.Hidden("IdCheck", ViewData["IdCheck"]) %>
в вашем методе HttpPost или HttpPut (в зависимости от того, чтовыполняет обновление)
if (Encryption.ComputeHash(home.HomeId.ToString()) != (string)Request.Form["IdCheck"])
{
throw new Exception("Hashes do not match");
}
Опять же - такая же проблема безопасности существует независимо от того, какой метод вы используете для обновления, если доверяете данным формы.