WCF ć‚Øćƒ©ćƒ¼å‡¦ē†

WCF ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ć§ē™ŗē”Ÿć—ćŸć‚Øćƒ©ćƒ¼ćÆć€ę¬”ć® 3 ć¤ć®ć‚°ćƒ«ćƒ¼ćƒ—ć®ć„ćšć‚Œć‹ć«å±žć—ć¾ć™ć€‚

  1. é€šäæ”ć‚Øćƒ©ćƒ¼

  2. ćƒ—ćƒ­ć‚­ć‚·/ćƒćƒ£ćƒćƒ« ć‚Øćƒ©ćƒ¼

  3. ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ ć‚Øćƒ©ćƒ¼

é€šäæ”ć‚Øćƒ©ćƒ¼ćÆć€ćƒćƒƒćƒˆćƒÆćƒ¼ć‚ÆćŒä½æē”Øć§ććŖć„å “åˆć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆćŒę­£ć—ććŖć„ć‚¢ćƒ‰ćƒ¬ć‚¹ć‚’ä½æē”Øć—ć¦ć„ć‚‹å “åˆć€ć¾ćŸćÆć‚µćƒ¼ćƒ“ć‚¹ ćƒ›ć‚¹ćƒˆćŒå—äæ”ćƒ”ćƒƒć‚»ćƒ¼ć‚øć‚’ćƒŖćƒƒć‚¹ćƒ³ć—ć¦ć„ćŖć„å “åˆć«ē™ŗē”Ÿć—ć¾ć™ć€‚ ć“ć®åž‹ć®ć‚Øćƒ©ćƒ¼ćÆć€ CommunicationException または CommunicationExceptionę“¾ē”Ÿć‚Æćƒ©ć‚¹ćØć—ć¦ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć«čæ”ć•ć‚Œć¾ć™ć€‚

ćƒ—ćƒ­ć‚­ć‚·/ćƒćƒ£ćƒćƒ« ć‚Øćƒ©ćƒ¼ćÆć€ćƒćƒ£ćƒćƒ«ć¾ćŸćÆćƒ—ćƒ­ć‚­ć‚·č‡Ŗä½“å†…ć§ē™ŗē”Ÿć™ć‚‹ć‚Øćƒ©ćƒ¼ć§ć™ć€‚ ć“ć®ēØ®é”žć®ć‚Øćƒ©ćƒ¼ć«ćÆć€é–‰ć˜ć‚‰ć‚ŒćŸćƒ—ćƒ­ć‚­ć‚·ć¾ćŸćÆćƒćƒ£ćƒćƒ«ć®ä½æē”Øć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆćØć‚µćƒ¼ćƒ“ć‚¹ć®é–“ć«ć‚³ćƒ³ćƒˆćƒ©ć‚Æćƒˆć®äøäø€č‡“ćŒå­˜åœØć™ć‚‹ć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć®č³‡ę ¼ęƒ…å ±ćŒć‚µćƒ¼ćƒ“ć‚¹ć«ć‚ˆć£ć¦ę‹’å¦ć•ć‚Œć‚‹ć€ćŖć©ćŒć‚ć‚Šć¾ć™ć€‚ ć“ć®ć‚«ćƒ†ć‚“ćƒŖć«ćÆć•ć¾ć–ć¾ćŖēØ®é”žć®ć‚Øćƒ©ćƒ¼ćŒć‚ć‚Šć€ć“ć“ć«äø€č¦§č”Øē¤ŗć™ć‚‹ć«ćÆå¤šć™ćŽć¾ć™ć€‚ ć“ć®åž‹ć®ć‚Øćƒ©ćƒ¼ćÆć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆ as-is ć«čæ”ć•ć‚Œć¾ć™ (ä¾‹å¤–ć‚Ŗćƒ–ć‚øć‚§ć‚Æćƒˆć«åÆ¾ć—ć¦å¤‰ę›ćÆå®Ÿč”Œć•ć‚Œć¾ć›ć‚“)怂

ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ ć‚Øćƒ©ćƒ¼ćÆć€ć‚µćƒ¼ćƒ“ć‚¹ę“ä½œć®å®Ÿč”Œäø­ć«ē™ŗē”Ÿć—ć¾ć™ć€‚ ć“ć®ēØ®é”žć®ć‚Øćƒ©ćƒ¼ćÆć€ FaultException または FaultException<TDetail>ćØć—ć¦ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć«é€äæ”ć•ć‚Œć¾ć™ć€‚

WCF ć§ć®ć‚Øćƒ©ćƒ¼å‡¦ē†ćÆć€ę¬”ć® 1 ć¤ä»„äøŠć«ć‚ˆć£ć¦å®Ÿč”Œć•ć‚Œć¾ć™ć€‚

  • ć‚¹ćƒ­ćƒ¼ć•ć‚ŒćŸä¾‹å¤–ć®ē›“ęŽ„å‡¦ē†ć€‚ ć“ć‚ŒćÆć€é€šäæ”ć‚Øćƒ©ćƒ¼ćØćƒ—ćƒ­ć‚­ć‚·/ćƒćƒ£ćƒćƒ« ć‚Øćƒ©ćƒ¼ć«åÆ¾ć—ć¦ć®ćæč”Œć‚ć‚Œć¾ć™ć€‚

  • ć‚Øćƒ©ćƒ¼ ć‚³ćƒ³ćƒˆćƒ©ć‚Æćƒˆć®ä½æē”Ø

  • IErrorHandler ć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ć‚¤ć‚¹ć®å®Ÿč£…

  • ServiceHost ć‚¤ćƒ™ćƒ³ćƒˆć®å‡¦ē†

ć‚Øćƒ©ćƒ¼ ć‚³ćƒ³ćƒˆćƒ©ć‚Æćƒˆ

éšœå®³ć‚³ćƒ³ćƒˆćƒ©ć‚Æćƒˆć‚’ä½æē”Øć™ć‚‹ćØć€ćƒ—ćƒ©ćƒƒćƒˆćƒ•ć‚©ćƒ¼ćƒ ć«ä¾å­˜ć—ćŖć„ę–¹ę³•ć§ć‚µćƒ¼ćƒ“ć‚¹ę“ä½œäø­ć«ē™ŗē”Ÿć™ć‚‹åÆčƒ½ę€§ć®ć‚ć‚‹ć‚Øćƒ©ćƒ¼ć‚’å®šē¾©ć§ćć¾ć™ć€‚ ę—¢å®šć§ćÆć€ć‚µćƒ¼ćƒ“ć‚¹ę“ä½œå†…ć‹ć‚‰ć‚¹ćƒ­ćƒ¼ć•ć‚Œć‚‹ć™ć¹ć¦ć®ä¾‹å¤–ćÆć€ FaultException ć‚Ŗćƒ–ć‚øć‚§ć‚ÆćƒˆćØć—ć¦ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć«čæ”ć•ć‚Œć¾ć™ć€‚ FaultException ć‚Ŗćƒ–ć‚øć‚§ć‚Æćƒˆć«å«ć¾ć‚Œć‚‹ęƒ…å ±ćÆéžåøøć«å°‘ćŖććŖć‚Šć¾ć™ć€‚ ć‚Øćƒ©ćƒ¼ ć‚³ćƒ³ćƒˆćƒ©ć‚Æćƒˆć‚’å®šē¾©ć—ć€ć‚Øćƒ©ćƒ¼ć‚’ FaultException<TDetail>ćØć—ć¦čæ”ć™ć“ćØć§ć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć«é€äæ”ć•ć‚Œć‚‹ęƒ…å ±ć‚’åˆ¶å¾”ć§ćć¾ć™ć€‚ č©³ē“°ć«ć¤ć„ć¦ćÆć€ć€Œ ć‚³ćƒ³ćƒˆćƒ©ć‚ÆćƒˆćØć‚µćƒ¼ćƒ“ć‚¹ć§ć®ć‚Øćƒ©ćƒ¼ć®ęŒ‡å®šćØå‡¦ē†ć€ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚

IErrorHandler

IErrorHandler ć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ć‚¤ć‚¹ć‚’ä½æē”Øć™ć‚‹ćØć€WCF ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ćŒć‚Øćƒ©ćƒ¼ć«åæœē­”ć™ć‚‹ę–¹ę³•ć‚’ć‚ˆć‚Šč©³ē“°ć«åˆ¶å¾”ć§ćć¾ć™ć€‚ ć“ć‚Œć«ć‚ˆć‚Šć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć«čæ”ć•ć‚Œć‚‹ć‚Øćƒ©ćƒ¼ ćƒ”ćƒƒć‚»ćƒ¼ć‚øć‚’å®Œå…Øć«åˆ¶å¾”ć§ćć€ćƒ­ć‚°čØ˜éŒ²ćŖć©ć®ć‚«ć‚¹ć‚æćƒ  ć‚Øćƒ©ćƒ¼å‡¦ē†ć‚’å®Ÿč”Œć§ćć¾ć™ć€‚ IErrorHandlerć‚Øćƒ©ćƒ¼å‡¦ē†ćØå ±å‘Šć«åÆ¾ć™ć‚‹åˆ¶å¾”ć®ę‹”å¼µć®č©³ē“°ć«ć¤ć„ć¦ćÆć€ä»„äø‹ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚

ServiceHost ć‚¤ćƒ™ćƒ³ćƒˆ

ServiceHost ć‚Æćƒ©ć‚¹ćÆć‚µćƒ¼ćƒ“ć‚¹ć‚’ćƒ›ć‚¹ćƒˆć—ć€ć‚Øćƒ©ćƒ¼ć®å‡¦ē†ć«åæ…č¦ćŖć‚¤ćƒ™ćƒ³ćƒˆć‚’ć„ćć¤ć‹å®šē¾©ć—ć¾ć™ć€‚ ä¾‹ćˆć°ę¬”ćŒęŒ™ć’ć‚‰ć‚Œć¾ć™ć€‚

  1. Faulted

  2. UnknownMessageReceived

詳瓰については、ServiceHost ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚