C# 使用gzip和标头压缩web方法调用返回的字符串数据
我听说可以压缩web方法调用返回的数据。web方法返回一个字符串,然后我的客户端应用程序使用该字符串生成xml文档 下面是一段代码片段C# 使用gzip和标头压缩web方法调用返回的字符串数据,c#,.net,web-services,iis,webmethod,C#,.net,Web Services,Iis,Webmethod,我听说可以压缩web方法调用返回的数据。web方法返回一个字符串,然后我的客户端应用程序使用该字符串生成xml文档 下面是一段代码片段 [WebMethod] public string GetRegions() { // Create a new string builder for which the XmlWriter will append to. StringBuilder output = new StringBuilder(); // Create Xml
[WebMethod]
public string GetRegions()
{
// Create a new string builder for which the XmlWriter will append to.
StringBuilder output = new StringBuilder();
// Create XmlWriter settings
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = " ";
// Use an XmlWriter and a StringBuilder for outputting the xml.
using (XmlWriter writer = XmlWriter.Create(output, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("MyData");
writer.WriteStartElement("Regions");
// Get all selectable regions
RegionList regionList = RegionList.GetSelectable();
// Loop through every region
foreach(Region region in regionList.GetList())
{
writer.WriteStartElement("Region");
writer.WriteElementString("RegionId", region.regionID.ToString());
writer.WriteElementString("Code", region.code);
writer.WriteElementString("Name", region.name);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndDocument();
}
// Return the xml as a string
return output.ToString();
}
我听说在请求头中添加了一些东西,例如“Accept Encoding:gzip”,但我不知道如何才能让它起作用。有人知道我的问题的解决办法吗
提前感谢。您可以在IIS管理器中对承载Web服务的虚拟目录启用压缩,然后它将确定客户端是否可以接受压缩(GZIP)。相关问题:这个问题曾经在@bobbo解决过吗?我使用压缩机,但手动操作。如果你还需要实现这样的目标,我可以和你分享一下吗?