私はこれについて頭を悩ませてきましたが、問題を見つけることができません。私は WCF サービスの経験があまりないので、見落としていた単純なものであることを願っています。
次のようにエンティティ モデルを公開するこの WCF OData サービスをセットアップしました。
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
今は問題なく jQuery を使用してそのデータにアクセスしていますが、フェッチした jsonp-object を更新し、それをサービスに戻してデータベースを更新すると、HTTP 501 コードが返されます (実装されていません)。 .
オブジェクトをサービスに戻すために書いたコードは次のとおりです。
function commitData() {
$.ajax({
url: 'http://localhost:7634/API/Service.svc/tbl_bericht_vertalingen/?$format=json&Authorization=' + userGuid,
contentType: 'application/json',
type: 'PUT',
data: jsonObject,
dataType: 'json',
error: function () { alert("oops!"); },
success: updateCallback
});
}
function updateCallback(result) {
var record = result["d"];
alert("Updated on record with ID " + record.Id);
}
jsonObject は、以前にサービスから受け取ったオブジェクトと同じで、いくつかのプロパティが更新されています。
前述のように、この jQuery を呼び出すと、サービスから「501 - 実装されていません」というメッセージが返されます。
どんな助けでも大歓迎です。