Subject: RE: WCF Service Message Encoding
From: Vazha Ezugbaia <[email-masked]>
To: Manuchar Tokhadze <[email-masked]>, Tamta Kobakhidze <[email-masked]>, Natia Baratelia <[email-masked]>, Adelina Faradian <[email-masked]>, Alexander Turdziladze <[email-masked]>, Arsen Khitiri <[email-masked]>, Dimitri Ivanauri <[email-masked]>, Giorgi Lobjanidze <[email-masked]>, Giorgi Usharauli <[email-masked]>, Ketevan Tatoshvili <[email-masked]>, Konstantine Muradov <[email-masked]>, Mary Gelashvili <[email-masked]>, Niko Khvichia <[email-masked]>, Nikoloz Ivanauri <Nivana
Date: Mon, 03 Nov 2014 10:20:09 +0000

და ვაბშე Messaging-ზე გადასვლას როდის აპირებთ ხალხო?

მაგაზე რო დროულად გადასულიყავიტ ეს პრობლემებიც არ იქნებოდა

Vazha Ezugbaia

Master Developer

Abt Associates Incorporated - Georgia

USAID Health System Strengthening Project

A. Tsereteli ave. #144 16nd FL. Tblisi Georgia

Tbilisi, Georgia  Tel. (995 32) 251 00 21 (ext: 1617)

Mob: (995  55) 545 32 62

From: Vazha Ezugbaia
Sent: ორშაბათი, 3 ნოემბერი, 2014 წელი 12:44
To: Manuchar Tokhadze; Tamta Kobakhidze; Natia Baratelia; Adelina Faradian; Alexander Turdziladze; Arsen Khitiri; Dimitri Ivanauri; Giorgi Lobjanidze; Giorgi Usharauli; Ketevan Tatoshvili; Konstantine Muradov; Mary Gelashvili; Niko Khvichia; Nikoloz Ivanauri; Sergo Rostiashvili; Valerian Khvichia; Zurab Dalakishvili
Subject: WCF Service Message Encoding

მოგესალმებით

რამოდენიმე დღის წინ ჩავატარე ტესტები

სამწუხაროდ ჩვენს რჩეულ Mtom-ს აქვს პრობლემები

კერძოდ ის რო თუ რეზულტატში ბრუნდება Dictionary რომელსაც აქვს ასეთი Key-ები

dictionary[“ AAA”]

dictionary[“AAA ”]

dictionary[“AAA”]

ამათ აღიქვავს როგორც ერთ Key-ს

რაც ნიშნავს იმას რომ სერიალიზაციის ან დესერიალიზაციის დროს უკეთებს Trim-ს და შემდეგ

დესერიალიზაციის დრო ისვრის Exception-ს "An item with the same key has already been added"

ამიტომ კიდევ ჩავატარე რაღაც ტესტები და ტრაფიკის მოცულობის და Perfomance-ს მხრივ ყველაზე საუკეთესო ვარიანტი არის binary message encoding

თუმცა ამის ჩართვა მოითხოვს ცვლილებებს Web.Config-ებში

კერძოდ უნდა გადავიდეთ CustomBinding-ზე

ქვემოთ არის მაგალითი

SERVER SIDE (Web.Config)

<system.serviceModel>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

<behaviors>

<serviceBehaviors>

<behavior name="">

<serviceDebug includeExceptionDetailInFaults="true" />

<dataContractSerializer maxItemsInObjectGraph="2147483647" />

<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />

<serviceThrottling maxConcurrentCalls="4096" maxConcurrentSessions="1024" maxConcurrentInstances="8192" />

behavior>

serviceBehaviors>

behaviors>

<bindings>

<customBinding>

<binding name="" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">

<binaryMessageEncoding compressionFormat="Deflate" />

<httpTransport maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" />

binding>

customBinding>

bindings>

<services>

<service name="Services.TestWcfService">

<endpoint binding="customBinding" bindingConfiguration="" contract="Services.ITestWcfService" name="HttpBinding" />

service>

services>

system.serviceModel>

CLIENT SIDE (Web.Config, App.Config)

<system.serviceModel>

<bindings>

<customBinding>

<binding name="" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">

<binaryMessageEncoding compressionFormat="Deflate" />

<httpTransport maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" />

binding>

customBinding>

bindings>

<client>

<endpoint address=" http://localhost:38680/Services/TestWcfService.svc"

binding="customBinding" contract="TestClientWcfService.ITestWcfService" name="HttpBinding" />

client>

system.serviceModel>

როგორც ხედავთ ყველაფერი ბევრად მარტივი და გასაგებია ვიდრე wsHttpBinding-ის ან basicHttpBinding-ის კონფიგურაცია

არანაირი ზედმერი ხუჭუჭები

მხოლოდ timeout--ები da buffer-ების ზომები

ამიტომ იზრუნეთ იმაზე რომ ეტაპობრივად ამაზე უნდა გადავიდეთ

რათმქუნდა Reporting-ის სერვიცებს პირველ რიგში გადავიწყობ რადგან პრობლემები მანდ წარმოიშვა

და გაითვალისწინეთ ეს ყველამ ვინც Reporting-ის სერვისს იყენებთ

ახალი ვერსია რომელიც გადავა სერვერზე იქნება ახალი კონფიგურაციით (გადატანისას რათქმაუნდა მოვიწერები)

პატივისცემით

Vazha Ezugbaia

Master Developer

Abt Associates Incorporated - Georgia

USAID Health System Strengthening Project

A. Tsereteli ave. #144 16nd FL. Tblisi Georgia

Tbilisi, Georgia  Tel. (995 32) 251 00 21 (ext: 1617)

Mob: (995  55) 545 32 62