我有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”
但它不起作用
你是什么意思?有没有错误?你有没有检查事件日志? –
我的意思是,没有收到错误。 –