簡體   English   中英

WCF數據服務:400保存大量更改時的錯誤請求

[英]WCF Data Services : 400 Bad Request when saving lots of changes

我有一個客戶端創建數千個實體並將其發送到服務,如下所示:

for(int i=0;i<99999999; i++)
{
    var contract = new Contract { Id = i, Name = "Ctr" + i.ToString() , ... }
    service.AddToContracts(contract);
}

svc.SaveChanges(SaveChangesOptions.Batch);

問題是當我嘗試保存更改時,我得到以下異常:

“400 - 錯誤請求”

WCF數據服務不是很擅長編寫大量數據。

大約一年前,當我的代碼試圖編寫100,000個對象時,我遇到了麻煩......我修改了代碼,將對象添加到較小的塊中(失去了我操作的事務性質),這很有效。

您可以嘗試增加MaxStringContentLengthMaxReceivedMessageSize值。

這個博客將幫助您。

不要只在最后保存為批次,而是保存每100個合同或其他東西。

您可以在服務上啟用跟蹤,以確定您的請求失敗的確切錯誤及其原因是什么? 如果有許多實體傳遞給您的WCF服務,請嘗試在web.config中增加以下設置

<dataContractSerializer maxObjectsInGraph="1000000000"/> 

如果您可以發布您的服務配置也很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM