我正在使用WCF數據服務(現在5.6),並且由於枚舉不支持(和其他原因),我有一些額外的屬性添加到我打算刪除的客戶端類在http://blogs.msdn.com/b/phaniraj/archive/2008/12/11/customizing-serialization-of-entities-in-the-ado-net-data-services-client-library.aspxWCF數據服務SaveChanges沒有觸發WritingEntity事件
使用下面的例子中WritingEntity事件的SaveChanges在我的構造高度重視該事件,但我發現,有時候事件火災等倍(更多)它沒有。
public MyDataContext(System.Uri serviceRoot, bool ignoreProperties)
: this(serviceRoot)
{
if (ignoreProperties)
this.WritingEntity += EdiContext_WritingEntity;
this.SendingRequest2+=OnSendingRequest;
}
保存更改
db.AttachTo("Maps", map, "*");
db.UpdateObject(map);
ProcessMapCoordinates(db, map);
ProcessModifiers(map, db);
db.SaveChanges();
的SendingRequest2事件不火,我用它來一些頭信息附加到請求,以支持多種數據
private void OnSendingRequest(object sender, SendingRequest2EventArgs e)
{
e.RequestMessage.SetHeader("profile", ClientSettings.Instance.Profile);
}
有誰知道WriteEntity事件在什麼情況下不會觸發?
是否有另一種方法來防止部分類的擴展屬性被序列化?
謝謝