0

DataServiceProvider私は、非常に基本的で一般的な "hello world" (ProductCategoryエンティティを持つもの)の例をダウンロードして使用しました。私は最新の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();
4

1 に答える 1

0

上記の発言で述べたように:

Httphandlers が通信に介入し、送信したにもかかわらずヘッダーを削除する場合があります。ありがとうエリック

于 2013-03-21T06:41:31.483 に答える