Ph chi (callback)

Một phần của tài liệu Tìm hiểu windows communication foundation (Trang 76 - 86)

Do nhu c u c a ng d ng, đ c bi t khi x lý các công vi c liên quan đ n c s d li u nh s a, c p nh p nh ng trong các quá trình này n u có l i x y ra đ nh t quán d li u và tránh s sai xót thì ph i thi t l p ph c h i. N u công vi c th c hi n ch a hoàn thành mà xu t hi n l i thì ng d ng ph i có tính n ng ph c h i các thông s , giá tr c a ng d ng.

Cách th c thi t l p ph c h i :

[AttributeUsage(AttributeTargets.Class)]

public sealed class CallbackBehaviorAttribute : Attribute,... {

public bool IncludeExceptionDetailInFaults {get;set;}

//Các ph ng th c khác

}

[CallbackBehavior(IncludeExceptionDetailInFaults = DebugHelper.IncludeExceptionDetailInFaults)]

class MyClient : IMyContractCallback {

public void OnCallBack() {

...

throw new InvalidOperationException(); }

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] class MyService : IMyContract

{

static List<IMyContractCallback> m_Callbacks = new List<IMyContractCallback>();

public void DoSomething() { IMyContractCallback callback = OperationContext.Current.GetCallbackChannel<IMyContractCallback>() ; if(m_Callbacks.Contains(callback) == false) { m_Callbacks.Add(callback); } }

public static void CallClients() {

Action<IMyContractCallback> invoke =(callback)=> { try { callback.OnCallBack(); } catch(FaultException<...> exception) {...} catch(FaultException exception) {...} catch(CommunicationException exception) {...} }; m_Callbacks.ForEach(invoke); } }

PH N 2 : NG D NG MINH H A

CH NG 1 : PHÂN TÍCH VÀ THI T K 1.1 Ý t ng

N m 2007, B giáo d c và đào t o ra quy t đnh thay th hình th c thi t lu n truy n th ng b ng hình th c thi tr c nghi m trong k thi đ i h c và t t nghi p trung h c ph thông đ i v i các môn V t lý, Hóa h c, Sinh h c, Ngo i ng . Vì th thi tr c nghi m ngày nay đã tr thành m t ph n c c kì quan tr ng trong n n giáo d c ph thông, cùng v i ch tr ng c a nhà n c là ng d ng công ngh thông tin vào giáo d c đã t o nên nh ng b c phát tri n đáng k trong vi c d y và h c.

D a trên nh ng xu h ng đó, m t h th ng thi tr c nghi m tr c tuy n s r t h u ích nh m cung c p cho h c sinh nh ng s tr i nghi m c n thi t khi b c vào các k thi th c s , và c ng là th c đo đ giáo viên có th đánh giá trình đ , h c l c c ng nh s ti n b cùa h c sinh, bên c nh đó c ng là m t b c phát tri n c a giáo d c trong t ng lai g n khi mà xu h ng t đ ng hóa ngày càng đ c a chu ng.

ng d ng h th ng thi tr c nghi m là mô hình client – server trên công ngh WCF. Server là ph n m m qu n tr h th ng thi tr c nghi m. Client là trang web TracNghiemOnline. u đi m c a mô hình là đa d ng trong k t n i và b o m t c s d li u.

1.2 Thi t k c s d li u G m các b ng sau : • B ng HocSinh • B ng GiangVien • B ng Lop • B ng BoMon • B ng Mon • B ng NganHangCauHoi

• B ng BoDeChinh

• B ng DeThiChinh

• B ng DeThiTron

• B ng Diem

1.3 Thi t k ng d ng

1.3.1 Ph n m m qu n tr h th ng thi tr c nghi m

Xây d ng theo mô hình 3 l p :

DataProvider (L p d li u) : Truy xu t c s d li u.

BussinessLayer : Cung c p các thao tác chính cho ph n m m qu n tr .

ServerWCF (L p giao di n ) : Ph n m m này cung c p 2 d ch v cho

o ServicePhanThi : áp ng yêu c u t ch c thi tr c nghi m tr c

tuy n.

o TracNghiemWCF : áp ng các yêu c u còn l i c a trang web.

1.3.2 Website TracNghiemOnline

CH NG 2 : HI N TH C NG D NG 2.1 Ph n m m qu n tr h th ng thi tr c nghi m

Một phần của tài liệu Tìm hiểu windows communication foundation (Trang 76 - 86)