0

添加到 SqlException.Data 集合的对象是否需要 [Serializable]?

4

3 回答 3

1

是的,他们需要。这是因为 ISerializable 在 Exception 类型中的实现将 Data 属性添加到 StreamingContext 中。并且 Data 属性(它是一个 IDictionary)中的所有对象都必须是可序列化的。即使不打算构建分布式应用程序,让异常类和实例可序列化也是一种好习惯。

于 2008-10-15T21:59:36.727 回答
0

如果异常要跨 appdomain 边界传播,则异常及其包含的数据需要可序列化。

一种这样的场景是客户端-服务器应用程序通过远程通信进行通信。如果服务器抛出异常并且需要在客户端进行处理,框架将不得不对其进行序列化/反序列化。

于 2008-10-13T09:35:51.720 回答
0

好吧,严格来说,不……您可以将任何类型添加到异常的数据字典中……但是您为什么要问呢?您认为它们将被连载到什么边界?

于 2008-10-04T04:14:57.767 回答