所以我有一些这样的代码。

[DataContract]
public class Example
{
    SomeClass _someVar;

    [OnDeserializing]
    public void OnDeserializing(StremingContext c)
    {
        _someVar = new SomeClass();
    }
}


有趣的是,如果我使用Visual Studio 2010中的测试调试客户端,则会调用OnDeserializing()。但是,如果尝试承载WCF服务,然后从自己的客户端调用它,则不会被调用(或者可能不会被调用)。 't),因为_someVar始终为null。

啊!

我还需要做什么?

亲切的问候,
府谷

最佳答案

WCF不使用标准的.net序列化,因此我不确定它将调用您的OnDeserializing方法。但是,您可以要求WCF使用XmlSerializer,它可以为您提供所需的行为。看看“控制序列化过程” here

10-05 23:11