Thi t l p behavior cho debug d ch v và siêu d li u c a d ch v :
<behaviors> <serviceBehaviors> <behavior name="serviceBehavior"> <serviceDebug includeExceptionDetailInFaults="true"/> <serviceMetadata /> </behavior> </serviceBehaviors> </behaviors>
g n m t t p các behavior t i m t d ch v , s d ng thu c tính behaviorConfiguration c a thành ph n <service>. <services> <service behaviorConfiguration="TempWCFServiceBehavior" name="TempWCF.ServiceClass"> ... </service> </services> <behaviors> <serviceBehaviors> <behavior name="TempWCFServiceBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors>
Ngoài vi c s d ng t p tin c u hình, b n còn có th s d ng mã ngu n đ đ nh ngh a các service behavior :
ServiceHost host = new ServiceHost(typeof(ServiceClass)); ServiceMetadataBehavior mexBehavior= host.Description. Behaviors.Find<ServiceMetadataBehavior>();
if (mexBehavior == null) {
mexBehavior = new ServiceMetadataBehavior(); mexBehavior.HttpGetEnabled = true;
host.Description.Behaviors.Add(mexBehavior); }
6.5 Hành vi ho t đ ng (Operation Behaviors)
6.5.1 Giao d ch (Transaction)
Cung c p kh n ng t đ ng hoàn thành v i lu ng giao d ch và các tùy ch n c n thi t.
Hình 6.2 : Ho t đ ng giao d ch 6.5.2 Xác đnh hàm g i
Khi đ c h tr v ràng bu c, s cung c p kh n ng th c thi d i đnh danh c a hàm g i.
6.5.3 Vi c s d ng l i đ i t ng
Cung c p kh n ng n p ch ng ch đ IntanceMode c a hành vi d ch v (Service Behavior).
6.6 Hành vi b o m t (Security Behaviors)
L p ServiceCredentials là hành vi d ch v đ c s d ng đ xác đnh thông tin c a m t d ch v . Thu c tính n danh cho phép m t máy khách n danh khi truy c p d ch v .
Hành vi ServiceAuthorization quy đ nh ph m vi d ch v và c p đ ho t đ ng, hành vi này cho phép b n thi t l p m t AuthorizationManager đ ki m tra quy n truy c p vào d ch v .
CH NG 7 : HOSTING 7.1 T l u tr (self-hosting)
7.1.1 Khái ni m
Môi tr ng ph bi n nh t đ l u tr các service WCF là IIS ho c WAS. Tuy nhiên đ ki m soát các s ki n t t m c ng nh cung c p giao di n tùy ch nh theo nhu c u, có th s d ng ServiceHost t không gian tên System. ServiceModel khi l p trình ng d ng đó là cách th c t l u tr . Có ngh a là d ch v ch y nh m t ng d ng.
ây là cách thu n l i nh t và d nh t đ l u tr m t d ch v WCF. Tùy vào m c đích s d ng có th thi t l p d ng winforms hay webform ho c Windows Presentation Framework… Các d ch v có th s d ng m ng ngang hàng. Thi t l p m t đa ch đ máy khách k t n i đ trao đ i thông đi p, có th s d ng đi ch qu ng bá (broadcast).
N u d ch v s d ng m t hàng đ i. B n tin v n chuy n v n đ c g i khi máy khách không t n t i. Hàng đ i th c hi n liên t c b i MSMQ ho c b ng trong c s d li u, là ph ng pháp hay t o đi u ki n thu n l i cho vi c t ng tác gi a máy khách và d ch v khi m t trong hai ho c c hai b ng t k t n i.
7.1.2 T l u tr (self-hosting) đ c qu n lý b i d ch v windows (windows service)
Windows services đ c qu n lý b i service control manager (SCM). H đ c qu n lý b ng cách s d ng công c Microsoft Management Console (MMC). Nh ng Windows Management Instrumentation (WMI) và SCM APIs có s n nh ng công c c u hình. Thông qua nh ng công c này, có th th c hi n hàng lo t các ch c n ng. Ch ng h n nh t đ ng hóa và các ch c n ng c a windows đang ch y.
Windows service là môi tr ng l u tr cho các ng d ng doanh nghi p nh Microsoft SQL Server và Microsoft Exchange. Qu n lý c s h t ng c a windows service, riêng các mã ngu n t Win32 API và các mã ngu n t các l p c s ServiceBase trong không gian tên System.ServiceProcess thì không đ c qu n lý. Và cung c p m t giao di n qu n lý qu n tr c b n nh ng không có các ch c n ng nh b o m t, mã hóa, đ tin c y và không th l u tr th t. Ph i t x lý các thông tin liên l c (MSMQ, named pipes, TCP,…) c ng nh threading, instancing, and throttling.
Vì v y nh ng tính n ng này đ u đ c h tr trong WCF, vì v y khi l u tr m t WCF service trong windows service s đ c t th c hi n.