当我运行下面的测试(NUnit 和 VS2008 SP1)时,出现以下错误
预期:连接失败
但是是:未知错误
谁能解释我做错了什么?
[Test]
public void SerializationWebExceptionTest()
{
using (var stream = new MemoryStream())
{
const WebExceptionStatus Expected = WebExceptionStatus.ConnectFailure;
var formatter = new BinaryFormatter();
var initialException = new WebException("Test", null, Expected, null);
formatter.Serialize(stream, initialException);
stream.Seek(0, SeekOrigin.Begin);
var result = (WebException)formatter.Deserialize(stream);
var actual = result.Status;
Assert.That(actual, Is.EqualTo(Expected));
}
}
你做得很好。对我来说,它看起来像是.NET框架中的一个错误。在 .NET 4.6 中处理另一个 AppDomain 中抛出的异常时偶然发现了这一点。 http://referencesource.microsoft.com/#System/net/System/Net/WebException.cs,47e37066345d8b7c 显示此字段的序列化代码已注释掉。