{"id":1689,"date":"2014-07-28T12:59:43","date_gmt":"2014-07-28T10:59:43","guid":{"rendered":"http:\/\/soci.hu\/blog\/?p=1689"},"modified":"2014-07-28T12:59:43","modified_gmt":"2014-07-28T10:59:43","slug":"wcf-channel-es-channelfactory-lezaras","status":"publish","type":"post","link":"https:\/\/soci.hu\/blog\/index.php\/2014\/07\/28\/wcf-channel-es-channelfactory-lezaras\/","title":{"rendered":"WCF channel \u00e9s channelfactory lez\u00e1r\u00e1s"},"content":{"rendered":"<p>A WCF channelek lez\u00e1r\u00e1sa egy\u00e9rtelm\u0171, ha rendben van a csatorna Close(), ha faulted, Abort().<br \/>\nDe mi van a channelfactory-vel?<br \/>\nAmi\u00e9rt a k\u00e9rd\u00e9s el\u0151j\u00f6tt az az, hogy egy szerviz rendszeres haszn\u00e1lata sor\u00e1n 2 perc ut\u00e1ni h\u00edv\u00e1sokn\u00e1l elsz\u00e1llt a h\u00edv\u00e1s. A kliens ezt \u00e9lte meg:<br \/>\nAn existing connection was forcibly closed by the remote host<\/p>\n<p>A szerveren meg egy bels\u0151 exception volt, amit a WCF lenyelt, de jelezte, hogy valami nem ok:<br \/>\nThe I\/O operation has been aborted because of either a thread exit or an application request.<\/p>\n<p>A figyelmem a channelfactory-re terel\u0151d\u00f6tt. Az lok\u00e1lis v\u00e1ltoz\u00f3k\u00e9nt volt l\u00e9trehozva, \u00e9s ebek harmincadj\u00e1ra szabadon engedve. Jaj, ez beteg. Lok\u00e1lis dispose nem j\u00f3 r\u00e1, mert akkor lez\u00e1rja az \u00f6sszes \u00e1ltala nyitott csatorn\u00e1t (legal\u00e1bbis <a href=\"http:\/\/stackoverflow.com\/questions\/866302\/channelfactory-close-vs-iclientchannel-close\">v\u00e9lem\u00e9nyek<\/a> szerint).<\/p>\n<p>Pr\u00f3b\u00e1ltam egy statikus p\u00e9ld\u00e1nyt let\u00e1rolni, azzal l\u00e9trehozni a csatorn\u00e1kat, de ez is lepukkant 2 perc ut\u00e1n (doksi szerint thread safe, t\u00f6bb sz\u00e1lb\u00f3l haszn\u00e1ltam).<\/p>\n<p>V\u00e9g\u00fcl nem maradt m\u00e1s, mint minden csatorn\u00e1hoz saj\u00e1t factory instance-et l\u00e9trehozni, \u00e9s a csatorna haszn\u00e1lata ut\u00e1n mindkett\u0151t lez\u00e1rni. Pedig elvileg meg lehet osztani a factory-t, teljes\u00edtm\u00e9ny okokb\u00f3l. Ebben az alkalmaz\u00e1sban ez megfelel\u0151 megold\u00e1s, de ha sok csatorn\u00e1t kellene nyitni, az nem tetszene. Valaki l\u00e1tott m\u00e1r ilyen esetet?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A WCF channelek lez\u00e1r\u00e1sa egy\u00e9rtelm\u0171, ha rendben van a csatorna Close(), ha faulted, Abort(). De mi van a channelfactory-vel? Ami\u00e9rt a k\u00e9rd\u00e9s&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,85,4,90],"tags":[],"class_list":["post-1689","post","type-post","status-publish","format-standard","hentry","category-net","category-net-45","category-szakmai-elet","category-wcf"],"_links":{"self":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=1689"}],"version-history":[{"count":1,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1689\/revisions"}],"predecessor-version":[{"id":1690,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1689\/revisions\/1690"}],"wp:attachment":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=1689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=1689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=1689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}