我想知道 Windows 资源管理器从哪里得到它的错误消息。我的情况非常具体,因为我使用的是自定义 WebDAV 实现,但我认为这个问题可以更广泛地应用(任何映射驱动器)。
所以假设我有一个映射到我的 WebDAV 共享的驱动器。我在 Windows 资源管理器中打开映射驱动器窗口,然后从那里尝试创建一个新文件夹。现在在我的自定义 WebDAV 实现中,我正在寻找MKCOL
创建文件夹的 WebDAV 动词,在这种情况下,我想阻止创建文件夹。所以我返回一个 400 (Bad Request) 作为 HTTP 响应。
问题是,现在无论我如何处理,Windows 资源管理器都会弹出一条错误消息,上面写着:
文件过大。文件“<%1 NULL:NameDest>”对于目标文件系统来说太大了。
请求尝试创建文件夹时哪个文件太大?
我想弄清楚的是 Windows 资源管理器从哪里得到的?我可以看到我如何使用 Fiddler 处理响应的所有详细信息(例如,我可以在 400 响应中返回自定义异常详细信息),那么它如何将我的 400 连接到我上面收到的消息?有什么方法可以格式化 HTTP 响应,以便 Windows 资源管理器获取我提供的详细信息并在错误消息中使用它们?