WCF效率提高技巧講解
WCF服務對于開發人員來說是非常重要的,它的使用為我們解決了許多難以解決的問題。WCF效率的提高方法有很多注意點,例如何時應該使用OneWay、何時異步。 #t#
WCF的客戶端代理類全都實現了INotifyPropertyChanged,我卻幾乎從來沒有見過有人問這個問題。實際上,客戶端程序可以不知道WCF的存在,它僅需要調用一個“業務數據GateWay”,這個GateWay再負責數據處理。
這樣,測試GUI程序的邏輯時,僅需要測試這個GateWay的邏輯以提高WCF效率。當使用WCF異步獲取數據時,可以將數據刷新到GateWay中,例如(對于簡單類型):
- static public void Refresh
(this IExtensibleDataObject
obj, IExtensibleDataObject target) - {
- if (!obj.GetType().
IsAssignableFrom(target.GetType())) - throw new NotSupportedException();
- foreach (PropertyDescriptor
p in TypeDescriptor.GetProperties(obj)) - p.SetValue(target, p.GetValue(obj));
- }
之后GateWay就會自動通知客戶端UI程序更新。這樣做,GUI程序才看起來運行順暢。
以上就是WCF效率提高的具體方法介紹。