Apache flex ASP.NET 3.5针对Flex的Web服务压缩

Apache flex ASP.NET 3.5针对Flex的Web服务压缩,apache-flex,web-services,soap,asp.net-3.5,Apache Flex,Web Services,Soap,Asp.net 3.5,我们有连接到ASP.NET3.5Web应用程序的Flex应用程序,通常下载大量数据。现在将XML视为传输,例如,对于每一项,它都会传输两次元数据。。它不是将int值作为传输,而是传输23。。现在,带宽节约成了一个问题 FLEX无法读取GZip并压缩HTTP响应(因此无法使用任何一个) 我听说过一些WSCompression,但它需要WSE 3.0。现在我怀疑在我的托管环境中引入太多依赖项,这需要太多的管理和开销。WSE 3.0是唯一一个不需要在生产服务器上安装的dll库吗?它是否需要重写所有We

我们有连接到ASP.NET3.5Web应用程序的Flex应用程序,通常下载大量数据。现在将XML视为传输,例如,对于每一项,它都会传输两次元数据。。它不是将int值作为
传输,而是传输
23
。。现在,带宽节约成了一个问题

  • FLEX无法读取GZip并压缩HTTP响应(因此无法使用任何一个)
  • 我听说过一些
    WSCompression
    ,但它需要WSE 3.0。现在我怀疑在我的托管环境中引入太多依赖项,这需要太多的管理和开销。WSE 3.0是唯一一个不需要在生产服务器上安装的dll库吗?它是否需要重写所有
    WebService
    属性?或者它是简单的一次性配置,或多或少,有人知道它与Flex一起工作吗
  • Flex动态生成web服务,我们使用了很多自动生成的代码,现在如果我们想支持压缩,那么我们需要重写很多代码吗
  • 我能想到的最简单的解决方案是,减少不必要的XML标记,并将它们减少为属性以节省带宽。有没有一个简单的方法来实现它,我们的类有50-70个以上的属性,我知道为每个属性添加属性是一场噩梦,但我们不知道在SOAP的情况下如何做

    问题:

  • WSE 3.0到底是什么,是否需要安装在生产服务器上?要启用WSCompression,我们是否需要在web服务代码中集成其他代码(如每个WebMethod属性),是否需要在属性中添加更多代码

  • 有没有一种简单的方法可以用属性标记属性,并以简单的形式强制序列化,比如[SoapAttribute],它可以将数据转换为属性而不是标记,它可以与FLEX一起使用,还是可以与任何客户端一起使用

  • SOAP是只有元素的标准格式,还是可以支持属性


  • SOAP支持属性和元素。

    SOAP支持属性和元素。

    最后,我找到了使用XmlAttribute的解决方法

    [XmlAttribute]
    public long CustomerID;
    

    强制将字段序列化为“属性”,但是SoapAttribute的MSDN文档说明如下“将SoapAttributeAttribute应用于公共字段,以指定XmlSerializer将字段序列化为XML属性”。根据SOAP标准,它应该这样做,但它没有

    最后,我通过使用XmlAttribute找到了解决方法

    [XmlAttribute]
    public long CustomerID;
    

    强制将字段序列化为“属性”,但是SoapAttribute的MSDN文档说明如下“将SoapAttributeAttribute应用于公共字段,以指定XmlSerializer将字段序列化为XML属性”。根据SOAP标准,它应该这样做,但它没有

    永远不要使用WSE!!!WSE已经过时,并已被WCF取代。WSE仅通过WSE支持压缩,我们不能使用WCF,因为我们的客户端不是.NET,而是它的FLEX。我们希望使用纯web服务,我们不希望只使用microsoft代码。WCF完全支持纯web服务!是什么让您认为它只支持Microsoft代码?它是ASMX和WSE的替代品!如果它没有互操作性,那就意味着微软完全放弃了互操作性!永远不要使用WSE!!!WSE已经过时,并已被WCF取代。WSE仅通过WSE支持压缩,我们不能使用WCF,因为我们的客户端不是.NET,而是它的FLEX。我们希望使用纯web服务,我们不希望只使用microsoft代码。WCF完全支持纯web服务!是什么让您认为它只支持Microsoft代码?它是ASMX和WSE的替代品!如果它没有互操作性,那就意味着微软完全放弃了互操作性!那又是微软,永远不支持标准100%,我将[SoapAttribute]应用于一个类的所有属性,尝试了各种组合,序列化总是在元素中,而不是在属性中!!!好的,如文档所述,[SoapAttribute]应该可以工作,但它不能工作,取而代之的是[XmlAttribute]可以工作,我们仍然需要检查FLEX中的实现细节。。我会在检查完所有内容后更新答案。请仔细阅读文档。我知道这很让人困惑,但是
    [SoapAttribute]
    不适合您的情况。请注意和比较处的示例。另外,出于好奇,
    [SoapAttribute]
    与支持任何标准有什么关系?那又是Microsoft,从不100%支持标准,我将[SoapAttribute]应用于一个类的所有属性,尝试了各种组合,序列化总是在元素中,它不会在属性中完成它!!!好的,如文档所述,[SoapAttribute]应该可以工作,但它不能工作,取而代之的是[XmlAttribute]可以工作,我们仍然需要检查FLEX中的实现细节。。我会在检查完所有内容后更新答案。请仔细阅读文档。我知道这很让人困惑,但是
    [SoapAttribute]
    不适合您的情况。请注意中的示例并将其与进行比较。另外,出于好奇,
    [SoapAttribute]
    与支持任何标准有什么关系?