這陣子在準備WCF的MCTS考試時,看了微軟發行的
[70-503 Microsoft .NET Framework 3.5 – Windows Communication Foundation]
這本書,說實在話,我看到後面第八章之後就有點看不下去
因為越看越模糊,完全不知道書中到底是在講些什麼??
尤其在這本書中提到FaultException的功能
並在書中寫下這樣的範例
1: [ServiceContract()]
2: public interface ICalculatorService
3: {
4: [OperationContract()]
5: [FaultContract(typeof(string))]
6: double Divide(double numerator, double denominator);
7: }
8: public class CalculatorService : ICalculatorService
9: {
10: public double Divide(double numerator, double denominator)
11: {
12: if (denominator == 0.0d)
13: {
14: string faultDetail = "You cannot divide by zero";
15: throw new FaultException<string>(faultDetail);
16: }
17: return numerator / denominator;
18: }
19: }
原本以為照這樣書中的練習,應該就可以看到結果,
結果沒想到程式出現了意外的錯誤狀況 >”<
原因是甚麼?請教Google大神之後,我還是沒有找到解答,
(一方面可能是自己找的方向不對,所以就放棄)
事情就這樣結束了嗎? 不~~~這件事情還停在我腦海中,
反正我想總有一天應該會找到解答!!
之後我放棄微軟的Training kit轉而看
Professional WCF Programming - 作者:Scott Klein
書中反而說明的比較詳細,雖然對我來說還是有很多看不大懂的部分
其中又遇到FaultException說明
書中寫的範例跟Training Kit有點不大一樣,
是在FaultContract部分,多設定了ProtectionLevel
1: [OperationContract]
2: [FaultContract(typeof(MyDefFault),ProtectionLevel=ProtectionLevel.EncryptAndSign)]
3: string GetData(int value);
程式就可以Work了,先簡單寫到這,
等我看得比較熟悉清楚後,再來補充這部分。
沒有留言:
張貼留言