Visual Studio рдореЗрдВ DSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдкрд░рд┐рдЪрдп


рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдХрднреА рдРрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ рдЬреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рдмрд╛рд░ рдореИрдВрдиреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЦреБрдж рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореЛрдбрд╝ рдЖрдпрд╛ рд╣реИред
рдПрдХ рдмрд╛рд░ рдХрд╛рд░реНрдп рдПрдХ рдордВрдЪ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдерд╛ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред
рдореИрдВ рд▓рдЪреАрд▓реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реБрдП, рдордВрдЪ рдкрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рджреЛ рдореБрдЦреНрдп рджрд┐рд╢рд╛рдПрдБ рдереАрдВ:


рдЦреБрдж рдХреЗ рдЙрдкрдХрд░рдг

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХреЛрдИ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рд╕рдорд╛рдзрд╛рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдФрд░ рддреЗрдЬ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рднреА рдХрдо рдХрд░рддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛)ред
рд▓реЗрдХрд┐рди рдЯреВрд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИ рдпрдерд╛рд╕рдВрднрд╡ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ, рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рдереЗред рд╕рд╛рде рд╣реА, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдХрд░рдг рдмрдирд╛рддреЗ рд╕рдордп, рдЙрдирдХреА рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ, рд╕рд╛рде рд╣реА рдЙрдкрдпреЛрдЧ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рднреАред

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓реНрд╕

рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЖрд╡рд╢реНрдпрдХ рдореВрд▓ рдХреЛрдб рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рдзрд╛рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрдЪреНрдЪ рдкреЗрд╢реЗрд╡рд░ рд╕реНрддрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реА рдкрд╕рдВрдж

рдЙрди рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХрд╛ рд╡рдЬрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореИрдВ рдЖ рд╕рдХрддрд╛ рдерд╛, рдореИрдВрдиреЗ рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдирдпрд╛ рдерд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЛрд╣рд┐рдд рдерд╛ред
рдЕрдЧрд▓рд╛, рдореИрдВ DSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Visual Studio 2010 рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдмрддрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдЧрд╛ред

рдкрд╣рд▓реЗ рд╕реЗ


рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдирд┐рдореНрди рд╡рд┐рддрд░рдгреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджреЛрдиреЛрдВ рдореБрдЦреНрдп рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдмрддрд╛рдирд╛ рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдпрд╣ рддрдВрддреНрд░ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рддреЛ, рдпрд╣ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдердорд┐рдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реЛрдЪ рдореЗрдВ рдкрдбрд╝ рдЧрдпрд╛, рддреЛ рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рдерд╛ред рдХреБрдЫ рд╕рдордп рдзреНрдпрд╛рди рдореЗрдВ рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрднреА рднреА рд╕рд╛рде рдЖрдпрд╛ рдерд╛ред
рдореИрдВ WCF рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд╕реНрддрд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рдмреЗрд╢рдХ, рд╣рдо рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдХреЗ рддрдХрдиреАрдХреА рдкрдХреНрд╖ рдкрд░ рдордЬрдмреВрдд рдЬреЛрд░ рдирд╣реАрдВ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХ рд╡рд╕реНрддреБ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдВред

рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдФрд░ рдЙрд╕реЗ рдбреАрдмрдЧ рдХрд░рдирд╛


рдмрд┐рдирд╛ рдХрд┐рд╕реА рдФрд░ рд╕реЛрдЪреЗ-рд╕рдордЭреЗ рдЦреБрдж рдХреЛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВрдЧреЗред
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╢реБрд░реВ рдХрд░рдирд╛, рд╣рдо рдЕрдкрдиреЗ рдкреНрдпрд╛рд░реЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рдбрд┐рдЬрд╛рдЗрдирд░ ред


рдЕрдЧрд▓рд╛, рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╣рдореЗрдВ рдмрдирд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛ред MinimalLanguage рдЪреБрдиреЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рддрддреНрд╡реЛрдВ рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛, рдЬреЛ рд╣рдореЗрдВ рдЙрдирд╕реЗ рддреЗрдЬреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред



рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде, рд╣рдо рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдЕрдВрддрд┐рдо рдпреЛрдЧрджрд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдХреБрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред
рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдЦреБрд▓рддреА рд╣реИ, рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЖрдк рддреБрд░рдВрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд░рдирд┐рдВрдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд░рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдЯреВрдбрд┐рдпреЛ рдЦреЛрд▓реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рдЖрдкрдХреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рд╣рдо рд╕рдм рдХреБрдЫ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ

рд╣рдорд╛рд░реЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЪреАрдЬ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджреЗрдВрдЧреЗ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред
рдбреАрдПрд╕рдПрд▓ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдбреЛрдореЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдорд╛рдирдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджреЗрдВред
рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:



рдЖрдЗрдП рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреА рдореБрдЦреНрдп рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

рдбреЛрдореЗрди рд╡рд░реНрдЧ - рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯред
рдирд╛рдорд╛рдВрдХрд┐рдд рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рдПрдХ рдирд╛рдорд┐рдд рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд╛рдо рдЧреБрдг рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд┐рд╕реНрдЯрдо рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдЧрд╛, рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдирд╛ рдЕрдиреВрдард╛ рдирд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред
рдЬреНрдпрд╛рдорд┐рддрд┐ рдЖрдХрд╛рд░ - рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЬреЛ рдПрдХ рдЖрд░реЗрдЦ рдкрд░ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХрдореНрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рд╢реЗрдк - рдЬреНрдпреЛрдореЗрдЯреНрд░реА рд╢реЗрдк рдХреЗ рд╕рдорд╛рди, рдХреЗрд╡рд▓ рдПрдХ рдЕрд▓рдЧ рд▓реБрдХ рд╣реЛрддрд╛ рд╣реИ
рдПрдВрдмреЗрдбрд┐рдВрдЧ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк - рдПрдХ рд╕рдВрдмрдВрдз рд╕рдВрдмрдВрдз рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╕рдВрджрд░реНрдн рд╕рдВрдмрдВрдз - рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрджрд░реНрдн рдХреЗ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо - рд╕рдВрдмрдВрдз рдХреЗ рдореВрд▓ рдкреНрд░рдХрд╛рд░, рдЕрд░реНрдерд╛рддреН рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рджреВрд╕рд░реЗ рд╕реЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░
рдХрдиреЗрдХреНрдЯрд░ - рд▓рд┐рдВрдХ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░
рдЖрд░реЗрдЦ рддрддреНрд╡ рдорд╛рдирдЪрд┐рддреНрд░ - рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд▓рд┐рдВрдХ рдХреЛ рдЙрдирдХреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдмреБрдирд┐рдпрд╛рджреА рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдЙрдирдХреЗ рдорд╛рдирдЪрд┐рддреНрд░рдг рдмрдирд╛рдирд╛

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реА рддрддреНрдХрд╛рд▓ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рддреИрдпрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗ:

рдпрд╣ рдиреНрдпреВрдирддрдо рд╕реВрдЪреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓ рдмрдЪ рдЬрд╛рдП рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рд╕рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдмрджрд▓реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



рд╕рднреА рдХреЛрдб * .tt рдлрд╝рд╛рдЗрд▓реЛрдВ (рдЬреЛ T4 рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ) рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ Dsl рдФрд░ DslPackage рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ GeneratedCode рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ ред рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ рдереАрдВ, рдЗрд╕рд▓рд┐рдП, рдЙрди рд╕рднреА рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░ (рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рддрд░рд╣) рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕реЗ WCFWizard рдХреЗ рдирд╛рдо рд╕реЗ рдвреВрдВрдвреЗрдВред

"рд╕реЗрд╡рд╛" рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдирд╛

рд╕реЗрд╡рд╛ рд╡рд╕реНрддреБ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЯреВрд▓рдмреЙрдХреНрд╕ рд╕реЗ рдирд╛рдорд╛рдВрдХрд┐рдд рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рддрддреНрд╡ рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ "WCFService" рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЧреБрдг рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ Is рддрддреНрд╡ рдирд╛рдо рдзреНрд╡рдЬ рд╣реИ, рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧреБрдг рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╣реИред
рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рдФрд░ рдирд╛рдорд╛рдВрдХрд┐рдд рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓ рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдорд╡рд┐рд╡рд░рдг
рдкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХрдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рд╕реНрддрд░ред
рдЖрдзрд╛рд░ рд╡рд░реНрдЧрдЖрдзрд╛рд░ рд╡рд░реНрдЧред рд╣рдо рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдЧ рдХреЛ рдЖрдзрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ред
рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБрдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рд╡рд░рдгрд╡рд╕реНрддреБ рдХрд╛ рд╡рд░реНрдгрдиред
рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдирд╛рдо рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦреЗрдВрдЧреЗред
рдбрдмрд▓ рд╡реНрдпреБрддреНрдкрдиреНрди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИрдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рджреЛ рдХрдХреНрд╖рд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ (рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдПрдХ), рдПрдХ рд╕рд╛рд░, рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде, рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ рдЖрдВрд╢рд┐рдХ рд╡рд░реНрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдВрджрд░ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмреЗрд╕ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдХрд╕реНрдЯрдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реИрдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд░реНрдЧ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рд╕рдВрд╢реЛрдзрдХрдЖрдкрдХреЛ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЛ рд╕рд╛рд░рдЧрд░реНрднрд┐рдд рдмрдирд╛рдиреЗ рдпрд╛ рдЗрд╕рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдирд╛рдордЗрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред
рдирд╛рдо рд╕реНрдерд╛рдирдЖрдкрдХреА рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдирд╛рдо рд╕реНрдерд╛рдиред

рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╕рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реАрд▓реНрдб рдЫреЛрдбрд╝ рджреЗрдВред рдФрд░ рдбреЛрдореЗрди рд╕рдВрдкрддреНрддрд┐ рддрддреНрд╡ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдорд╡рд┐рд╡рд░рдг
рдЧреЗрдЯреНрдЯрд░ рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХрд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдБрдЪ рдЕрдзрд┐рдХрд╛рд░ рдкрдврд╝реЗрдВред
рд╕реЗрдЯрд░ рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХрд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдБрдЪ рд▓рд┐рдЦреЛред
рдпреВрдЖрдИ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╕рдВрдкрддреНрддрд┐ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдПрдВред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИрдХреНрдпрд╛ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдирдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реАрд▓реНрдб рдорд╛рдиред
рддрддреНрд╡ рдирд╛рдо рдкреНрд░рджрд╛рддрд╛рдмрд╛рд╣рд░реА рдкреНрд░рдХрд╛рд░ рдЬреЛ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░реЗрдЧрд╛ред рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдЯреНрд░реВ рдХреЗ рдмрд░рд╛рдмрд░ рдЗрд▓рд┐рдореЗрдВрдЯ рдиреЗрдо рдХрд╛ рдореВрд▓реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рддрддреНрд╡ рдирд╛рдо рд╣реИрд╕рдВрдкрддреНрддрд┐ рд╡рд╕реНрддреБ рдХрд╛ рдирд╛рдо рд╣реИред рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдЕрджреНрд╡рд┐рддреАрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рддрд░рд╣рдлрд╝реАрд▓реНрдб рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЬреЛ рдЗрд╕рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ:
  • рдХреЛрдИ рднреА - рд╕рдВрдЧреНрд░рд╣ рдирд┐рдпрдорд┐рдд рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ
  • рдкрд░рд┐рдХрд▓рд┐рдд - рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдлрд╝реАрд▓реНрдб рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред
  • рдХрд╕реНрдЯрдорд╕реНрдЯреЛрд░реЗрдЬ - рдХрд╕реНрдЯрдо рд╕реНрдЯреЛрд░реЗрдЬред рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

рдЯрд╛рдЗрдкрд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдкреНрд░рдХрд╛рд░ред рдПрдХ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдбреЛрдореЗрди рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ (рдЗрд╕реЗ рдбреАрдПрд╕рдПрд▓ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдЖрдк рдЕрдкрдиреА рдЦреБрдж рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ WCFService рдХреЛ WCFCollection рдкреИрд░реЗрдВрдЯ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд╣реЗрдЧрд╛ рдХрд┐ WCFService WCFCollection рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо WCFCollection рд╕реЗ WCFService рддрдХ рдПрдВрдмреЗрдбрд┐рдВрдЧ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рддрд╕реНрд╡реАрд░ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдорд┐рд▓рд╛ред



рд╣рдордиреЗ "WCFCollectionHasWCFService" рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдбреЛрдореЗрди рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рд╣реИред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ WCFCollection рдХреЗ рдмреАрдЪ WCFService рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдЧреБрдг рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдФрд░ рд╣рдо рдЕрд▓рдЧ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдорд╡рд┐рд╡рд░рдг
рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИрдпрджрд┐ рдпрд╣ рдЧреБрдг True рдкрд░ рд╕реЗрдЯ рд╣реИ, рддреЛ WCFService рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдореНрдмреЗрдбрд┐рдВрдЧ рд╕рдВрдмрдВрдз рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдЖрдзрд╛рд░ рд╕рдВрдмрдВрдзрдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрдмрдВрдз рдЬрд┐рд╕рдХреЗ рдЧреБрдг рд╣рдо рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдПрдореНрдмреЗрдб рдХрд░ рд░рд╣рд╛ рд╣реИрджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдПрдВрдмреЗрдбрд┐рдВрдЧ рд╣реИ, рдпрд╛ рдирд╣реАрдВред

рдбреЛрдореЗрди рд╕рдВрдмрдВрдз рдХреЗ рджрд╛рдИрдВ рдУрд░ "WCFService / 0 .. *" (рдпрд╣ рдкреНрд░рдХрд╛рд░ рдбреЛрдореЗрди рднреВрдорд┐рдХрд╛ рд╣реИ ), рдЬрд╣рд╛рдВ WCFService WCFCollection рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ WCFSOL рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИред 0 .. * рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ WCFCollection рдореЗрдВ рд╢реВрдиреНрдп рд╕реЗ рдЕрдирдВрдд рддрдХ WCFService рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдбреЛрдореЗрди рд╕рдВрдмрдВрдз рдХреЗ рдмрд╛рдИрдВ рдУрд░ "WCFCollection / 1..1" (рдпрд╣ рдкреНрд░рдХрд╛рд░ рдбреЛрдореЗрди рднреВрдорд┐рдХрд╛ рд╣реИ ), рдЬрд╣рд╛рдВ WCFCollection WCFService рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ WCFCollection рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИред 1..1 - рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ WCFService рдореЗрдВ WCFCollection рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдареАрдХ рдПрдХ (рдЖрд╡рд╢реНрдпрдХ) рд╕рдВрджрд░реНрдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбреЛрдореЗрди рд░реЛрд▓ рдмрдВрдбрд▓ рдореЗрдВ рдореМрдЬреВрдж рднреВрдорд┐рдХрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ (WCFService рдФрд░ WCFCollection) рдХреА рдЕрдкрдиреА рднреВрдорд┐рдХрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рддрд░рдл рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

рд╣рдо рдбреЛрдореЗрди рд░реЛрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдорд╡рд┐рд╡рд░рдг
рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдкреНрд░рдХрд╛рд░рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рд╕реВрдЪреА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рд╕рдВрдкрддреНрддрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИрдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ рдХреА рджреГрд╢реНрдпрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕рдВрдкрддреНрддрд┐ рдЬрдирд░реЗрдЯрд░ рд╣реИрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рд╕рдВрдкрддреНрддрд┐ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБрдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреНрд░реЙрдкрд░реНрдЯреА рдЧреЗрдЯреНрдЯрд░ рдПрдХреНрд╕реЗрд╕рдкрд╣реБрдБрдЪ рдЕрдзрд┐рдХрд╛рд░ рдкрдврд╝реЗрдВред
рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯрд░ рдПрдХреНрд╕реЗрд╕рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ред
рдмрд╣реБрд▓рддрд╛рдирд┐рд░реНрдорд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:
  • 0 .. * - рд╢реВрдиреНрдп рд╕реЗ рдЕрдирдВрдд рддрдХ
  • 1..1 - рдПрдХ рдкреНрд░рддрд┐ рдореЗрдВ
  • 0..1 - рд╢реВрдиреНрдп рд╕реЗ рдПрдХ рддрдХ
  • 1 .. * - рдПрдХ рд╕реЗ рдЕрдирдВрдд рддрдХ рдиреНрдпреВрдирддрдо

рдирдХрд▓ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИрдмрдВрдбрд▓ рдореЗрдВ рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдХреЛ рднреА рдмрдВрдбрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╕рдордп рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреНрд░рдЪрд╛рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВрдмрдВрдбрд▓ рдореЗрдВ рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХрд╛ рдорд╛рд▓рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдмрдВрдбрд▓ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдордЙрддреНрдкрдиреНрди рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдоред
рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдиреЗ рд╡рд╛рд▓рд╛рд╡рд╕реНрддреБ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЬрд┐рд╕рдореЗрдВ рднреВрдорд┐рдХрд╛ рд╣реЛрддреА рд╣реИред

рдЕрдм рд╕реЗрд╡ рдХрд░реЗрдВ, "рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдСрд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рд╕рдорд╛рдзрд╛рди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдФрд░ рд╢реБрд░реВ рдХрд░реЗрдВред рдЕрдм рд╣рдо WCFWolder Explorer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ WCFCollection рдореЗрдВ WCFService рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЪрд╛рд░реНрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рдмрдирд╛рдПрдВ

рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрд░реЗрдЦ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЯреВрд▓рдмреЙрдХреНрд╕ рддрддреНрд╡ рд╣реИрдВ: рдЬреНрдпрд╛рдорд┐рддрд┐ рдЖрдХрд╛рд░ , рдХрдореНрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдЖрдХрд╛рд░ , рдХрдиреЗрдХреНрдЯрд░ ред рдкрд╣рд▓реЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрддрд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЛрдореЗрди рд╕рдВрдмрдВрдз рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдХрдВрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдЖрдХреГрддрд┐ рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ WCFServiceShape рдирд╛рдо рджреЗрдВред рдЗрд╕ рддрддреНрд╡ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХрдИ рдЧреБрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред
рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдирдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд░реЗрдЦ рддрддреНрд╡ рдореИрдк рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ WCFService рдФрд░ WCFServiceShape рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдлреИрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдХрдореНрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рд╢реЗрдк рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдХреЛрд░реЗрдЯрд░ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ NameDecorator рдирд╛рдо рджреЗрдВред рдЕрдм рд╣рдореЗрдВ рдЗрд╕реЗ WCFService рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо DSL рд╡рд┐рд╡рд░рдг рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рд╣рдорд╛рд░реЗ рдЖрд░реЗрдЦ рддрддреНрд╡ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрдВрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдбреЗрдХреЛрд░реЗрдЯрд░ рдореИрдкреНрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╣рдорд╛рд░реЗ NameDecorator рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВред рд╕рдВрдкрддреНрддрд┐ рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕реАрдзреЗ WCFService рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдкрде рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕рдХреА рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдЧреБрдг рддрддреНрд╡ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдирд╛рдо рдЪреБрдиреЗрдВред



рдЕрдм рд╣рдорд╛рд░реЗ WCFService рдиреЗ рдПрдХ рдЪрд╛рд░реНрдЯ рдкрд░ рдЦреБрдж рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛ рд╣реИред

рдХрд┐рд╕реА рдЯреВрд▓рдмреЙрдХреНрд╕ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд╛рд▓рдирд╛

рдЖрдк WCFWizard рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдЖрдЗрдП рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдЪрд▓реЛ рдбреАрдПрд╕рдПрд▓ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯреВрд▓рдмреЙрдХреНрд╕ рдЯреИрдм рдмрдирд╛рдПрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдлрд╡реЙрдпрд░ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХрд╛ рдирд╛рдо рджреЗрдВрдЧреЗред рдпрд╣ рд╣рдордиреЗ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрддреНрд╡ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдХрдиреЗрдХреНрд╢рди рдЯреВрд▓ (рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП) рдФрд░ рддрддреНрд╡ рдЯреВрд▓ (рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП)ред
рддрддреНрд╡ рдЯреВрд▓ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рддрддреНрд╡ рдмрдирд╛рдПрдВ, рдФрд░ рдЗрд╕реЗ WCFServiceTool рдирд╛рдо рджреЗрдВ, рдФрд░ рдЙрди рдЖрдЗрдХрди рд╕реЗ рдЖрдЗрдХрди рд▓реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдЫреЛрдбрд╝рдиреЗ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред WCFService рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЕрдм рдкрд╣рд▓рд╛ рдЯреВрд▓ рд╣рдорд╛рд░реЗ рдЯреВрд▓рдмреЙрдХреНрд╕ рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЪрд╛рд░реНрдЯ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

"рдлрд╝рдВрдХреНрд╢рди" рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдирд╛

рд╣рдо рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ WCFService рдХреЗ рд▓рд┐рдП рдКрдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЗрд╡рд▓ WCFFunction рдирд╛рдо рдХреЗ рд╕рд╛рдеред рдФрд░ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдлрдПрд╕рдИрдЖрд░рд╕реА (рдПрдВрдмреЗрдбрд┐рдВрдЧ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЗ рд▓рд┐рдП рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдлрдПрдлрдПрд╢рди рдХреЛ рдмрд╛рдВрдзреЗрдВ, рди рдХрд┐ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдлрд╕реАрд▓реЗрд╢рди рдХреЛред рдФрд░ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИред



рдЕрдм рд╣рдо рд╕реЗрд╡рд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЖрд░реЗрдЦ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЧреБрдЪреНрдЫрд╛ рдореЗрдВ рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░рдг рдЬреЛрдбрд╝реЗрдВред
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЦреАрдВрдЪреЗрдВ (рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд╣рд░реА рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЧреБрдгреЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдЗрд╕реЗ WCFServiceHasWCFFunction рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЖрд░реЗрдЦ рдЖрд░реЗрдЦ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдмрджреНрдз рдХрд░реЗрдВред
рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ред
WCFType рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рджреЛ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬрд╝ рдмрдирд╛рдПрдБ: Namespace рдФрд░ Type, рдЯрд╛рдЗрдк рдХреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдФрд░ рдЦреБрдж рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдореВрд░реНрдд рд╕рдВрд╢реЛрдзрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЕрдореВрд░реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░реЗрдВред
рд╣рдо WCFParamType (рдлрд╝рдВрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдирд╛рдо) рдХреЗ рд╕рд╛рде рдПрдХ рдбреЛрдореЗрди рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ WCFType ( рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ WCFType рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧ) рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ред
WCFParamType рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдо рдЧреБрдг рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ WCFService рдХреЗ рд╕рд╛рде рд╕рдВрдмрджреНрдз рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдЕрдм WCFFunctionShape рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ, рдПрдХ рдХрдВрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ (рдЪрд▓реЛ рдЗрд╕реЗ рдкрд░рдо рдХрд╣рддреЗ рд╣реИрдВ)ред рдЖрдЗрдП WCFFunction рдФрд░ WCFFunctionShape рдХреЗ рдмреАрдЪ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде DSL рд╡рд┐рд╡рд░рдг рдкреИрдирд▓ рдкрд░ рдЬрд╛рдПрдВред рдХрдореНрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдореИрдкреНрд╕ рдЯреИрдм рдЪреБрдиреЗрдВ рдФрд░ рдЗрд╕реЗ рдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред



рдкреНрд░рджрд░реНрд╢рд┐рдд рддрддреНрд╡ рд╕рдВрдЧреНрд░рд╣ рдкрде рдкрде рдлрд╝реАрд▓реНрдб рдЙрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдмрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдФрд░ рдлрд┐рд░ рд╣рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░рд▓ рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреЛрдб рдкреАрдврд╝реА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рджреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:

рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдБ рдФрд░ рдЙрд╕рдХреА рддреИрдирд╛рддреА рдХрд░реЗрдВ


рдпрд╣ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред DSLPackage рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп , рд╣рдореЗрдВ vsix рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреИрдХреЗрдЬ рд╣реИред
рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ vsix рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░реЗрдВ ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореИрдиреЗрдЬрд░ ( рдЯреВрд▓ рдореЗрдиреВ рдореЗрдВ рд╕реНрдерд┐рдд) рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрдк рдЗрд╕реЗ рд╣рдЯрд╛ рднреА рд╕рдХрддреЗ рд╣реИрдВред



рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВ рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╡рд░ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдпрд╣ рд╡рд┐рд╖рдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ:

Source: https://habr.com/ru/post/In134039/


All Articles