.net framework 4.8和.net 5之间的WebRequest行为不同



以下代码在dotnet 5中抛出异常,但在dotnet framework 4.8中不会抛出异常:

var req = (HttpWebRequest)HttpWebRequest.Create(urlIncludingScheme);
req.AllowAutoRedirect = false;
var resp = (HttpWebResponse)req.GetResponse()

在framework 4.8中,HttpWebResponse返回StatusCode "Moved"在。net core中,会抛出一个异常,并伴随着消息"远程服务器返回了一个错误:(301)Moved permanent .&";

这让我对把东西从4.8移植到。net 5有点紧张。我希望这种行为在。net 5中保持不变。

有谁能告诉我这是一个错误,还是它实际上是一个意图?

这也在这里讨论:重定向WebRequest在。net Core

但是没有讨论这种差异背后的原因。

同样,这里的讨论并没有解释在这个场景中是否真的打算进行破坏性的更改:https://github.com/dotnet/runtime/issues/23264

这也被报告为一个bug并解决了,但似乎没有被修复:https://github.com/dotnet/runtime/issues/1074

原来我的项目运行的是。net core 3.1。

framework 4.8: No exception

dotnet core 3.1:抛出异常

dotnet 5:没有例外-所以这个错误似乎已经在dotnet 5中修复了。

我认为可以得出结论,异常实际上是无意的,现在已经修复了。

相关内容

  • 没有找到相关文章

最新更新