Python wsgiref module的API排除了hop-by-hop标头(在RFC 2616中定义)。
我不清楚如何使服务器在响应后终止连接(因为似乎没有添加Connection: close
的方法)。
测试小型WSGI应用程序和Bottle微服务时会出现此问题。来自浏览器的开放连接阻止了curl发出的呼叫。我必须单击浏览器刷新以终止连接,以便可以处理未决的curl请求。
显然,这应该是服务器端的决定(响应后终止连接),而不是客户端的决定。我不清楚如何实施。
答案 0 :(得分:0)
这实际上是在您通过其托管框架的WSGI服务器上确定的。使用bottle的最佳解决方案是通过gevent运行它。
public void TestCompress()
{
string fileToCompress = @"C:\Users\gary\Downloads\BD01.DAT";
byte[] inputBytes = File.ReadAllBytes(fileToCompress);
var inputStream = new MemoryStream(inputBytes);
byte[] zipBytes = new byte[38000000]; // this memory size is large enough.
MemoryStream outStream = new MemoryStream(zipBytes);
string compressorEnginePath = @"C:\Engine\7z.dll";
SevenZipCompressor.SetLibraryPath(compressorEnginePath);
compressor = new SevenZip.SevenZipCompressor();
compressor.CompressionLevel = CompressionLevel.Fast;
compressor.CompressionMethod = CompressionMethod.Lzma2;
compressor.CompressStream(inputStream, outputStream);
inputStream.Close();
outputStream.Close();
如果不需要,您可以清除白噪声和瓶子配置,我以它们为例进行了说明,并建议您将它们用于外部。
这在每个连接上都是纯异步的。