OData V3 の WCF Data Services 5.0 にアップグレードした後、挿入または更新を行うことができません。可能な唯一のものは選択です。
編集
オーバーライドされたメソッド HandleException の例外:
例外: System.Data.Services.DataServiceException: Content-Type ヘッダー値がありません。System.Data.Services.HttpProcessUtility.ReadContentType (文字列 contentType、文字列 & mime、エンコーディング & エンコーディング) で System.Data.Services.Serializers.Deserializer.CreateDeserializer (RequestDescription の説明、IDataService dataService、ブール値の更新、UpdateTracker トラッカー) で System.Data. Services.DataService 1.HandlePostOperation(RequestDescription description, IDataService dataService)
at System.Data.Services.DataService
1.ProcessIncomingRequest (RequestDescription の説明、IDataService dataService) で System.Data.Services.DataService 1.HandleNonBatchRequest(RequestDescription description)
at System.Data.Services.DataService
1.HandleRequest()
レスポンスステータスコード: 400
Client-Code HTTP-Request-Header にトークンを設定しました...
/// <summary>
/// Initializes a new instance of the <see cref="ServiceBase"/> class.
/// </summary>
/// <param name="uri">service uri</param>
protected ServiceBase(Uri uri)
{
this.Context = new Entities(uri) { MergeOption = MergeOption.OverwriteChanges };
this.Context.SendingRequest += new EventHandler<SendingRequestEventArgs>(this.ContextSendingRequest);
}
/// <summary>
/// OnSendingRequest
/// </summary>
/// <param name="sender">source</param>
/// <param name="e">event args</param>
private void ContextSendingRequest(object sender, SendingRequestEventArgs e)
{
e.RequestHeaders["token"] = "xyassdfdfdfdf";
}
Service-Code: サービスはこのヘッダーを解析し、トークンをチェックします
public XYDataService()
{
this.ProcessingPipeline.ProcessingRequest += this.ProcessingPipelineProcessingRequest;
}
/// <summary>
/// OnProcessingRequest
/// </summary>
/// <param name="sender">source</param>
/// <param name="e">event args</param>
private void ProcessingPipelineProcessingRequest(object sender, DataServiceProcessingPipelineEventArgs e)
{
var authHeader = HttpContext.Current.Request.Headers["token"];
if (string.IsNullOrEmpty(authHeader) || !authHeader.Equals("xyassdfdfdfdf"))
{
throw new DataServiceException(401, "401 Unauthorized");
}
}
ご協力いただきありがとうございます。
そして私