gpt4 book ai didi

c# - 如何使用 C# 和 IIS 无缝压缩我发布到表单的数据?

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:19 25 4
gpt4 key购买 nike

我必须与一个不使用网络服务的稍微陈旧的系统交互。为了向该系统发送数据,我需要将 XML 文档发布到另一个系统网站上的 form 中。这个 XML 文档可能会变得非常大,所以我想压缩它。另一个系统位于 IIS 上,我最终使用 C#。我当然可以在发布数据之前实现一些压缩数据的方法,但这需要更改其他系统以便它可以解压缩数据。我想避免更改其他系统,因为我不拥有它。

我听说过有关在 IIS 和浏览器中启用压缩/http 1.1 的模糊消息,但我不知道如何将其转换为我的程序。基本上,我是否可以在我的程序中设置一些属性,使我的程序自动压缩它发送到 IIS 的数据,并让 IIS 无缝解压缩它,这样接收应用程序甚至不知道其中的区别?

下面是一些示例代码,大致展示了我在做什么;

private static void demo()
{

Stream myRequestStream = null;
Stream myResponseStream = null;

HttpWebRequest myWebRequest = (HttpWebRequest)System.Net
.WebRequest.Create("http://example.com");
byte[] bytMessage = null;
bytMessage = Encoding.ASCII.GetBytes("data=xyz");
myWebRequest.ContentLength = bytMessage.Length;
myWebRequest.Method = "POST";

// Set the content type as form so that the data
// will be posted as form
myWebRequest.ContentType = "application/x-www-form-urlencoded";

//Get Stream object
myRequestStream = myWebRequest.GetRequestStream();

//Writes a sequence of bytes to the current stream
myRequestStream.Write(bytMessage, 0, bytMessage.Length);

//Close stream
myRequestStream.Close();

WebResponse myWebResponse = myWebRequest.GetResponse();
myResponseStream = myWebResponse.GetResponseStream();
}

“data=xyz”实际上是“data=[一个几 MB 的 XML 文档]”。

我知道如果可以通过非编程方式实现这个问题,那么这个问题最终可能会落入非编程范畴,所以提前致歉。

最佳答案

我看不到在不主动解压缩数据的情况下在一侧压缩数据并在另一侧接收未压缩数据的方法..

关于c# - 如何使用 C# 和 IIS 无缝压缩我发布到表单的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/352623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com