У меня очень простое приложение служб данных WCF, и я выполняю некоторые основные операции CRUD.У меня есть ChangeInterceptor в наборе сущностей, который меняется, но объект в ChangeInterceptor является текущим состоянием в базе данных, а не тем, что отправляется в HTTP PUT. Есть ли способ проверить свойства объекта перед его сохранением?
Вот мой ChangeInterceptor:
[ChangeInterceptor("People")]
public void OnChangePerson(Person personChanging, UpdateOperations updateOperations) {
switch (updateOperations) {
case UpdateOperations.Change:
// personChanging is the database version here, not the changed version.
break;
default:
break;
}
}
Вот мой код на стороне клиента (jQuery):
var data = {
FirstName: "NewFN",
LastName: "NewLN"
};
$.ajax({
type: "PUT",
url: serviceUrl + "/People(" + personID + ")",
contentType: "application/json",
dataType: "json",
data: JSON.stringify(data),
success: function (data) {
alert("Success!");
},
error: function (error) {
alert("An error occured");
}
});
Вот JSON, отправляемый на сервер:
Вот ChangeInterceptor при получении сообщения:
Iзагрузили код для этого проекта здесь: http://andyjmay.com/test/2921612/ODataTest.zip