請看下面的代碼,其中一個客戶端訪問WCF服務泛型程序,從客戶端訪問WCF服務
功能GetPriority
public List<Priority> GetPriority()
{
List<Priority> lstPriority = new List<Priority>();
using (TmsServiceClient client = new TmsServiceClient())
{
try
{
lstPriority = client.GetPriority();
}
catch (FaultException<TMSCustomException> myFault)
{
Console.WriteLine(myFault.Detail.ExceptionMessage);
client.Abort();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
client.Abort();
}
}
return lstPriority;
}
功能的getStatus:
public List<Status> GetStatus()
{
List<Status> lstStatus = new List<Status>();
using (TmsServiceClient client = new TmsServiceClient())
{
try
{
lstStatus = client.GetStatus();
}
catch (FaultException<TMSCustomException> myFault)
{
Console.WriteLine(myFault.Detail.ExceptionMessage);
client.Abort();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
client.Abort();
}
}
return lstStatus;
}
這兩種方法都工作正常。可以看出,這兩種方法之間有許多相似之處,它們僅在方法調用和返回類型時纔有所不同。這可以使通用?如果是這樣怎麼辦?或者任何其他更好的方式,以便捕獲異常塊代碼不應該每次重複。
在此先感謝
我無法理解部分Func
user1025901
2012-01-12 07:36:29
@ user1025901:'Func>'是一個代表 - 請檢查我的編輯。 –
2012-01-12 20:02:01