如何检查 IIS 在发送文件后是否关闭了连接
本文关键字:是否 文件 连接 何检查 检查 IIS | 更新日期: 2023-09-27 18:33:21
>我有一个 Web 应用程序,我在其中使用 OWIN 通过实现Microsoft.Owin.FileSystems.IFileInfo
将文件发送到客户端
using System;
using System.IO;
using Microsoft.Owin.FileSystems;
public class CmsFileInfo : IFileInfo
{
private readonly FileInfo _fileInfo;
private readonly string _physicalPath;
public CmsFileInfo(FileInfo fileInfo)
{
_fileInfo = fileInfo;
_physicalPath = fileInfo.FullName;
Name = fileInfo.Name;
LastModified = fileInfo.LastWriteTimeUtc;
}
public Stream CreateReadStream()
{
return new FileStream(
_physicalPath,
FileMode.Open,
FileAccess.Read,
FileShare.Read,
1024 * 64,
FileOptions.SequentialScan);
}
public long Length
{
get { return _fileInfo.Length; }
}
public string PhysicalPath { get { return null; } }
public string Name { get; private set; }
public DateTime LastModified { get; private set; }
public bool IsDirectory { get { return false; } }
}
对我来说,这似乎工作正常。但后来我们在iTunes上遇到了一些问题。一位苹果支持者给了我以下答案:
似乎当我们请求您的图像时,您的服务器没有关闭连接。请考虑将您的映像托管在不同的映像上,看看是否可以解决问题。
我们将播客图像移动到 azure,我现在正在发送 302 重定向。这解决了我们在iTunes上的问题。
但是:如何关闭连接?如何测试服务器是否关闭了连接?我的 IFileInfo 实现有什么问题?
您可以使用 Wireshark 检查底层 TCP 连接是否已关闭。