ورود

View Full Version : سوال: Call کردن همزمان 2 متد در WCF



Mohammadbaymani
دوشنبه 12 تیر 1391, 17:42 عصر
من یک برنامه نوشتم برای بازار بورس و حجم داده ها خیلی زیاه برای لود کردن داده ها به مشکل بر خوردم
توی Wcf تمامی درخواستهایی را که به سرور پاس می دی به صورت پیش فرض توی یک صف می زاره و تا اولی تموم نشه به سرای دومی متد نمی ره

حالا من می خوام 2 تا کانکشن جدا ایجاد کنم که به هم مرتبط نباشند اما نمی دونم چکار باید بکنم

از دوستان اگر کسی جواب این سوال رو میدونه لطف کنه به من بگه 11


مرسی

saeed262626
دوشنبه 12 تیر 1391, 23:34 عصر
سمت کلاینت استفاده از Async
سمت سرور تغییر ConcurrencyMode

Mohammadbaymani
سه شنبه 13 تیر 1391, 12:28 عصر
مرسی آقا سعید

اما من این کارها رو انجام دادم. ولی مسئله ی من چیزه دیگه ایه

به صورت پیش فرض ارتباط کلاینت با سرویس سمت سرور در سیلورلایت 2 کانال هست

من می خوام این 2 تا کانال رو بتونم مدیریت کنم یا بتونم افزایش بدم

به صورت پیش فرض خودش مدیریت می کنه و بعضی وقتها به مشکل بر می خورم یکی از متدها رو روی کانالی ارسال می کنه که متد دیگه روی آن کانال ارسال شده و تا زمانی که اون متده به اتمام نرسه این متد را فراخوانی نمی کنه !!!

آقا سعید راهکاری برای این کار دارید ؟!

saeed262626
پنج شنبه 15 تیر 1391, 12:09 عصر
حقیقتش اینه که من خیلی اطلاعات راجع به برنامه ات و حجم دیتا های ردوبدل شده بین کلاینت و سرورت رو ندارم

مثلا
از duplex استفاده می کنی؟
متدی که call می کنی dataset یا حجم بالای دیتا است؟ و هر دفعه برای refresh اطلاعاتت همین مقدار اطلاعات رو از سرور میگیری؟
کاربرات داخل شبکه هستن یا اینترنت؟
اگه حجم اطلاعات و تعداد کاربرات بالان سروری که استفاده کردی قویه؟ و ......

Mohammadbaymani
سه شنبه 20 تیر 1391, 17:44 عصر
مرسی راه حلشو پیدار کردم

مشکل من این بود که توی WCF وقتی یک درخواست را به سرور میدی اگر این درخواسته 20 ثانیه زمان ببره تمام درخواستهای بعد از اون رو توی صف می زاره تا درخواست اولی که تموم شد درخواستهای بعدی را اجرا میکنه.

من می خواستم همزمان بتونم چند تا درخواست به سرور بدم و توی صف نزاره. همزمان مقدار را بر گردونه

ferankyy
پنج شنبه 22 تیر 1391, 21:18 عصر
اگر میشه لطف کن راه حلشو بزار چون منم همین مشکل را دارم .

Mohammadbaymani
سه شنبه 03 مرداد 1391, 17:09 عصر
توی قسمت Application Start برنامه Silverlight کد زیر رو وارد کن



HttpWebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);