客户端连接,发送Put:
var client = new JsvServiceClient(ConfigGlobal.Host);
client.Put(new PiecParametrySzczegoloweRequest { Initialize = true, Config = _config });服务器接收调用,但没有看到Initialize变量值被设置为true
internal class PiecParametrySzczegoloweService : Service
{
public PiecParametrySzczegoloweResponse Put(PiecParametrySzczegoloweRequest request)
{
if (request.Initialize)
{
ImageFile.Initialize(request.Config);
request.Initialize = false;
return new PiecParametrySzczegoloweResponse { Initialized = true };
}
return null;
}
}请求看起来如下:
[DataContract]
[Route("/PiecParametrySzczegolowe")]
public class PiecParametrySzczegoloweRequest : IReturn<PiecParametrySzczegoloweResponse>
{
public bool Initialize { get; set; }
public PiecParametrySzczegoloweLegend Config { get; set; }
public int Percent { get; set; }
}编辑:
这是缺乏属性的,谢谢!同时解决了问题..。
如果您需要/requestlogs,并且没有单独使用:
Plugins.Add(new RequestLogsFeature() { RequiredRoles = new string[0] });如果您需要序列化二进制数据(Bitmap),请使用protobuf-net (var client = new ProtoBufServiceClient(ConfigGlobal.Host);)并执行类似Serialize a Bitmap in C#/.NET to XML的操作。
如果不希望(需要)注释每个字段成员(读取警告) Protobuf-net serialization without annotation
发布于 2013-12-17 13:48:33
您需要删除[DataContract]属性,因为该属性告诉序列化程序您将使用[DataMember]属性指定用于序列化的字段,但您还没有这样做。
或者用[DataMember]标记属性。
[DataContract]
[Route("/PiecParametrySzczegolowe")]
public class PiecParametrySzczegoloweRequest : IReturn<PiecParametrySzczegoloweResponse>
{
[DataMember]
public bool Initialize { get; set; }
[DataMember]
public PiecParametrySzczegoloweLegend Config { get; set; }
[DataMember]
public int Percent { get; set; }
}https://stackoverflow.com/questions/20622149
复制相似问题