我有WCF REST/JSON服務,我使用this模板創建它。在我的服務,我有一個方法如何從客戶端應用程序調用WCF REST/JSON服務
[WebInvoke(UriTemplate = "Create", Method = "*",RequestFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Bare)]
public void Create(PictureData pictureData)
{
var context = new EFDBContext();
context.PictureData.Add(pictureData);
context.SaveChanges();
}
PictureData這是我的實體數據,這是我嘗試通過EF在DB保存。
在我的WPF客戶端應用程序,我嘗試調用這個方法:
但沒有發生
- 我也嘗試使用method = 「POST」 在WebInvoke屬性
- 此外,我嘗試使用HttpClient中沒有「創建」的地址,然後在客戶端中使用它。第一個參數
UPDATE
後,我嘗試這個
var dataContract = HttpContentExtensions.CreateJsonDataContract(pictureData, typeof (PictureData));
var client = new HttpClient();
using(var response = client.Post("http://localhost:8080/ScreenPictureService/Create", dataContract))
{
response.EnsureStatusIs(HttpStatusCode.OK);
}
我收到錯誤請求400
更新2 我發現我的問題:
我用JSON.NET來序列化我的對象,並且當我收到字節數組時,它將轉換爲base64格式,但是我的服務期望使用字節數組 - 它使用字節列表解決。
第二個問題 - 我試圖以高清晰度接收我的平板電腦的視頻,並且我有相同的響應(錯誤請求400),如果我將圖片分辨率更改爲800x600,服務運行良好,並且存在我的問題 - 如何增加請求消息的配額。我嘗試喲使用,裏面standardEndpoint節(web.config中)
readerQuotas的MaxArrayLength = 「2147483647」 maxBytesPerRead = 「2147483647」 MAXDEPTH = 「2147483647」 maxNameTableCharCount = 「2147483647」 maxStringContentLength = 「2147483647」
但它不起作用
你是什麼意思?有沒有錯誤?你有沒有檢查事件日誌? –
我的意思是,沒有收到錯誤。 –