DataServiceProvider
私は、非常に基本的で一般的な "hello world" (Product
とCategory
エンティティを持つもの)の例をダウンロードして使用しました。私は最新のMicrosoft.Data.Services
パッケージで作業しています。
私はそれに対抗するクライアントを構築しましたが、それは機能します。GET
リクエストは a を返し、それCategory
を編集しSaveChanges()
て update を呼び出します。
「hello world」仮想環境から IIS 上の既存の大規模アプリケーションにコードを移動することにしたとき、更新が機能しなくなりました。私は同じコードについて話している - クライアントとサーバー!
GET
正常に動作しますが、SaveChanges()
応答で例外がスローされます。
<?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code /><m:message xml:lang="en-US">Content-Type header value missing.</m:message></m:error>
私はContent-Type
ヘッダーを送信したことをフィドラーではっきりと見ることができますが:
"Content-Type: application/atom+xml"
var sessionedUri = new Uri("http://myapp/odata.svc/", UriKind.Absolute);
_oDataContext = new DemoService(sessionedUri);
_oDataContext.MergeOption = MergeOption.OverwriteChanges;
Category cate = _oDataContext.CreateQuery<Category>("Categories").FirstOrDefault();
_oDataContext = new DemoService(sessionedUri);
cate.Name = "somethin";
_oDataContext.AttachTo("Categories", cate);
_oDataContext.UpdateObject(cate);
_oDataContext.SaveChanges();