Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 你知道如何将这样一个对象放到WCF服务中吗?_C#_Wcf - Fatal编程技术网

C# 你知道如何将这样一个对象放到WCF服务中吗?

C# 你知道如何将这样一个对象放到WCF服务中吗?,c#,wcf,C#,Wcf,你好 我有以下问题: 如何放置以下对象 [DataContract] public class TimeItem { [DataMember] public DateTime LocalTime { get; set; } [DataMember] public double XPos { get; set; } [DataMember] public double YPos { get; set; } [DataMember] p

你好

我有以下问题:

如何放置以下对象

[DataContract]
public class TimeItem
{
    [DataMember]
    public DateTime LocalTime { get; set; }
    [DataMember]
    public double XPos { get; set; }
    [DataMember]
    public double YPos { get; set; }
    [DataMember]
    public byte[] ScreenImage { get; set; } //Could be very huge
}
到WCF服务?(我还编写了WCF服务,因此如果需要,我可以自定义它)。 它工作得很好,但是,如果是大字节数组(屏幕图像),我会收到一个错误400(错误的服务请求)。

请看一看与WCF服务之间的大数据传输。这将要求您将数据协定更改为a,在除大数据字段外的所有字段上使用而不是
DataContract
,而不是
DataMember
,然后在字节数据上使用-应更改为a

请注意,以这种方式接收的流往往会在属性上返回
false
,因此请注意如何从流中读取数据

您可能还需要调整客户端和服务器端配置上的消息大小限制,使用类似的方法

希望这有助于

了解WCF服务之间的大数据传输。这将要求您将数据协定更改为a,在除大数据字段外的所有字段上使用而不是
DataContract
,而不是
DataMember
,然后在字节数据上使用-应更改为a

请注意,以这种方式接收的流往往会在属性上返回
false
,因此请注意如何从流中读取数据

您可能还需要调整客户端和服务器端配置上的消息大小限制,使用类似的方法


希望这会有所帮助

您可以做一些事情来允许使用更大的数组(更改序列化配额;使用MTOM等),但最终还是会限制您可以作为单个消息发送的内容。听起来,无论您做什么,都会遇到限制,因此我建议您重新设计API,以在单独的消息中获取数据片段,并在服务器上重新组合。

您可以做一些事情来允许更大的数组(更改序列化配额;使用MTOM等),但最终,您可以作为单个消息发送的内容是有限的。听起来,无论你做什么,你都会遇到限制,所以我建议重新设计API,将数据片段放在单独的消息中,并在服务器上重新组合。

也许你需要增加你的wcf消息大小(在web配置文件中)

检查此链接,

也许您需要增加您的wcf消息大小(在web配置文件中)

检查此链接,

您可以使用绑定定义的
maxReceivedMessageSize
属性。它将允许您发送更大的请求

...
  <wsHttpBinding>
    <binding name="httpBinding" 
    maxBufferPoolSize="965536"
    maxReceivedMessageSize="965536">
      <readerQuotas maxStringContentLength="965536" />
    </binding>
  </wsHttpBinding>
...
。。。
...

您可以使用绑定定义的
maxReceivedMessageSize
属性。它将允许您发送更大的请求

...
  <wsHttpBinding>
    <binding name="httpBinding" 
    maxBufferPoolSize="965536"
    maxReceivedMessageSize="965536">
      <readerQuotas maxStringContentLength="965536" />
    </binding>
  </wsHttpBinding>
...
。。。
...

你的意思是喜欢重新实现?你的意思是喜欢重新实现?@user306080-你设置了MaxItemInObjectGraph吗?(链接:)@user306080-你设置了MaxItemInObjectGraph吗?(链接:)能否请您将您的问题更新为回复正文?使用提琴或类似的工具来获得它。假设我们将看到一条异常消息,并在那里跟踪。您能用回复正文更新您的问题吗?使用提琴或类似的工具来获得它。假设我们将看到一条异常消息,并在那里进行跟踪。