WCF效率提高技巧講解
WCF服務(wù)對于開發(fā)人員來說是非常重要的,它的使用為我們解決了許多難以解決的問題。WCF效率的提高方法有很多注意點,例如何時應(yīng)該使用OneWay、何時異步。 #t#
WCF的客戶端代理類全都實現(xiàn)了INotifyPropertyChanged,我卻幾乎從來沒有見過有人問這個問題。實際上,客戶端程序可以不知道WCF的存在,它僅需要調(diào)用一個“業(yè)務(wù)數(shù)據(jù)GateWay”,這個GateWay再負責(zé)數(shù)據(jù)處理。
這樣,測試GUI程序的邏輯時,僅需要測試這個GateWay的邏輯以提高WCF效率。當(dāng)使用WCF異步獲取數(shù)據(jù)時,可以將數(shù)據(jù)刷新到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效率提高的具體方法介紹。