数据是否可以将序列化程序用于任何第三方Web服务

Nic*_*ckD 11 c# wcf datacontractserializer

我有一个大型的第三方网络服务; reference.cs是33 MB.使用Visual Studio 2017,代理使用XML Serializer,在创建通道时会导致5秒的延迟.我在微软开了一个案例,他们向我展示了如何修改reference.cs以使用Datacontract序列化器.在同一台机器上,通道创建时间为20毫秒,完全符合我的需求.

不幸的是,消息失败并带来微小的差异,微软的支持也无济于事.

有已知的限制吗?我应该寻找的任何模式确保它根本不起作用我应该开始使用HTTP请求重写所有内容?

导致整体延迟的实际方法:

public XmlMembersMapping ImportMembersMapping(string elementName, string ns,
  XmlReflectionMember[] members, bool hasWrapperElement, bool writeAccessors,
  bool validate, XmlMappingAccess access) {
  ElementAccessor element = new ElementAccessor();
  element.IsSoap = true;
  element.Name = elementName == null || elementName.Length == 0 ? elementName : 
    XmlConvert.EncodeLocalName(elementName);
}
Run Code Online (Sandbox Code Playgroud)

Pio*_*otr 1

我应该寻找任何模式来确保它根本不起作用,并且我应该开始使用 HTTP 请求重写所有内容?

我已经进行了 Amadeus 集成。不幸的是,发送 HTTP 请求也是我唯一的解决方案。我正在编写信封并“注入”数据并将其发送到 Web 服务,然后通过 XDocument 填写响应。