1
我有下面的類,我想從我的WCF
(C#
)服務發送給我的客戶(WPF
):在客戶端未初始化DataContract類
[DataContract]
public class OutputAvailableEventArgs
{
[DataMember]
public int ID { get; set; }
[DataMember]
public string Message { get; private set; }
[DataMember]
public bool IsError { get; private set; }
public OutputAvailableEventArgs(int id) : this(id, false, "") { }
public OutputAvailableEventArgs(int id, string output) : this(id, false, output) { }
public OutputAvailableEventArgs(int id, bool isError, string output)
{
ID = id;
IsError = isError;
Message = output;
}
}
它使用的服務如下:
var channel = OperationContext.Current.GetCallbackChannel<IClientCallback>();
channel.OutputAvailable(new OutputAvailableEventArgs(1, false, "some message"));
在客戶端,成員獲取其默認值。
我試着用IsRequired
屬性標記它們,但現在客戶端上的OutputAvailable
未被調用。在服務端的代碼似乎運行順利(我沒有注意到任何與調試器)。
如何在保持會員價值的同時將DataContract
班級轉入WCF
?
(我看到,建議使用OnSerialized
和OnDeserialized
解決方案,但我不需要只是一個默認的構造函數)。
如果可能,請使用fiddler查看Service返回的內容以及客戶端收到的消息中的內容。 – jags 2013-03-05 09:29:01