سؤال

هل تم إنشاء كعب العميل من WSDL بواسطة .NET WSE آمن؟

بالطبع ، "آمن الخيوط" ليس من الضروري مصطلح محدد بدقة ، لذلك أنا على الأقل مهتم بما يلي:

نكون مختلف حالات من نفس فئة الكعب التي يمكن الوصول إليها في وقت واحد من خلال مؤشرات ترابط مختلفة ، مع نفس السلوك الفعال مثل التنفيذ المفرد؟

هو غير متزوج على سبيل المثال ، يمكن الوصول إلى نفس فئة الكعب المتزامنة بواسطة مؤشرات ترابط مختلفة ، مع نفس السلوك الفعال مثل نفس المكالمات المتشابكة بطريقة تعسفية في التنفيذ المفرد؟

قد ترغب أيضًا في استخدام المصطلحات الموصوفة هنا (وينشئ هنا) لمناقشة هذا بدقة أكثر.

هل كانت مفيدة؟

المحلول

حسنًا ، بالنسبة للإجابة المختصرة هل It It Thread Safe ، نعم. والسبب هو أن جانب خادم الخدمة سيكون لديه المزيد ليقوله ثم اتصال العميل فيما يتعلق بقدرات الخيوط. العميل هو مجرد وكيل يضع الطلب بطريقة يمكن أن يفهمها الخادم. لا يعرف شيئًا. إنها فئة أساسية ، لا وصول خارجي بخلاف اتصال الخادم. طالما أن الخادم يسمح بتوصيلات متعددة ، فستكون على ما يرام. وبالتالي ، لا يوجد خلاف للموارد (باستثناء أن يكون الخادم قادرًا على التعامل مع جميع طلباتك).

على جانب العميل ، يمكنك الحصول على عدة مؤشرات ترابط استخدام نفس الفئة ولكن مثيلات مختلفة. من المحتمل أن يكون هذا هو السيناريو المفضل بحيث يمكن أن تكون كل معاملة ذرية. في حين أن المثيل المشترك يجب أن يتعين عليك التعامل مع مؤشر ترابطك الخاص حول الوصول إلى الفئة نفسها وإلا قد تواجه حالة سباق على المورد الداخلي إلى الكود الخاص بك.

هناك أيضًا القدرة على إجراء مكالمة غير متزامنة. ستنشئ الكعب الذي تم إنشاؤه بواسطة أداة WSDL أساليب Begin ، و End Invoke بحيث يمكنك توفير طريقة رد اتصال للسماح لك بفعالية لتقديم طلبك ومتابعة رمزك دون انتظار الرد. من المحتمل أن يكون هذا هو الأفضل لسيناريو الثاني مع المثيل الوحيد.

ومع ذلك ، فإنه يعتمد أيضًا على كيفية ترميز مكون الخادم. إذا كانت خدمة ويب ، فيجب أن تكون قادرًا على إرسال طلبات متعددة في وقت واحد. ومع ذلك ، إذا كانت خدمة قائمة على المقبس ، فقد تحتاج إلى القيام ببعض الترميز الإضافي في نهايتك من أجل التعامل مع اتصالات واردة متعددة أو حتى لإنشاء مآخذ على سبيل المثال.

لذا ، باختصار ، تتصرف الحالات المختلفة نفس التنفيذ المربوطة الواحدة ضمن حدود جانب الخادم قادرة على التعامل مع اتصالات متزامنة متعددة.

بالنسبة للمثيل الواحد إذا كنت تستخدم عملية رد اتصال ، والتي يتم توفيرها قد تتمكن من الحصول على ما أنت عليه دون الكثير من الصداع. ومع ذلك ، يقتصر أيضًا على حدود رمز جانب الخادم.

السبب في أنني أذكر حدود الخادم هو أن هناك شركات ستقوم ببناء خدمات الويب التي تقيد عدد الاتصالات القادمة من المضيفين الخارجيين بحيث تكون الإنتاجية محدودة بهذا. وبالتالي فإن عدد المواضيع الفعالة التي يمكنك استخدامها سيتم تقليلها أو عملها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top