.net framework 4.8 和 dotnet 5 之间的 WebRequest 行为不同
WebRequest behavour different between .net framework 4.8 and dotnet 5
以下代码在 dotnet 5 中抛出异常,但在 dotnet 框架 4.8 中不会:
var req = (HttpWebRequest)HttpWebRequest.Create(urlIncludingScheme);
req.AllowAutoRedirect = false;
var resp = (HttpWebResponse)req.GetResponse()
在框架 4.8 中,返回一个 HttpWebResponse,StatusCode 为“已移动”
在 dotnet 核心中,抛出异常并显示消息“远程服务器返回错误:(301) 永久移动。”
这让我对将内容从 4.8 移植到 dotnet 5 感到有点紧张。我希望这种行为在 dotnet 5 中保持不变。
谁能告诉我这是一个错误还是真正的意图?
这也在这里讨论:
但是没有讨论这种差异背后的原因。
此外,这里的讨论并没有说明是否真的打算在这种情况下进行重大更改:https://github.com/dotnet/runtime/issues/23264
这在此处也被报告为一个错误并已解决,但似乎尚未修复:https://github.com/dotnet/runtime/issues/1074
原来我的项目是运行dotnet core 3.1.
框架 4.8:没有例外
dotnet 核心 3.1:抛出异常
dotnet 5:无例外 - 因此该错误似乎已在 dotnet 5 中修复。
我认为可以得出结论,该异常实际上是无意的,现在已修复。
以下代码在 dotnet 5 中抛出异常,但在 dotnet 框架 4.8 中不会:
var req = (HttpWebRequest)HttpWebRequest.Create(urlIncludingScheme);
req.AllowAutoRedirect = false;
var resp = (HttpWebResponse)req.GetResponse()
在框架 4.8 中,返回一个 HttpWebResponse,StatusCode 为“已移动” 在 dotnet 核心中,抛出异常并显示消息“远程服务器返回错误:(301) 永久移动。”
这让我对将内容从 4.8 移植到 dotnet 5 感到有点紧张。我希望这种行为在 dotnet 5 中保持不变。
谁能告诉我这是一个错误还是真正的意图?
这也在这里讨论:
但是没有讨论这种差异背后的原因。
此外,这里的讨论并没有说明是否真的打算在这种情况下进行重大更改:https://github.com/dotnet/runtime/issues/23264
这在此处也被报告为一个错误并已解决,但似乎尚未修复:https://github.com/dotnet/runtime/issues/1074
原来我的项目是运行dotnet core 3.1.
框架 4.8:没有例外
dotnet 核心 3.1:抛出异常
dotnet 5:无例外 - 因此该错误似乎已在 dotnet 5 中修复。
我认为可以得出结论,该异常实际上是无意的,现在已修复。