سؤال

أقوم بإنشاء موقع ويب ASP.NET يقوم بجمع البيانات من المستخدم وإرسالها إلى خدمة ويب تابعة لجهة خارجية.خدمة الويب غير موثوقة إلى حد ما ولهذا السبب توجد خدمة نسخ احتياطي.

إذا فشل الاتصال بالخدمة الأساسية (انتهت المهلة أو خطأ آخر)، فسأحتاج إلى التنقل قليلاً في فئة ثابتة والتي ستؤدي إلى رحلة النظام لاستخدام الخدمة الثانوية.

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

لقد قرأت هذا هل يجب علي استخدام خدمة Windows أو مؤشر ترابط خلفية ASP.NET؟ وأعتقد أن فصل الكود إلى خدمة Windows سيكون أنظف طريقة لإجراء الاستقصاء، ولكن بعد ذلك كيف يمكنني التواصل مع تطبيق الويب.

إحدى الأفكار التي كانت لدي هي الكشف عن خدمة ويب يمكن أن تستخدمها خدمة Windows للتواصل مع تطبيق الويب ولكن هذا يبدو فوضويًا ومبالغًا فيه.

أقدر أفكارك وخبراتك في أداء مهام مماثلة.

شكرًا

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

المحلول

أعتقد أن خدمة Windows هي الحل الأمثل بالتأكيد.

أما بالنسبة للاتصال بين الخدمة وموقع الويب الخاص بك، فإن أفضل إجابة تعتمد على حجم وحجم الحل الذي تقدمه.إذا كنت تقوم ببناء شيء يحتاج إلى أن يكون موثوقًا به، فأنا أقترح عليك تنفيذ نوع من قائمة الانتظار بين موقع ASP.NET الخاص بك وخدمة Windows الخاصة بك.لديك الكثير من الخيارات هنا أيضًا، اعتمادًا على الميزانية والقدرة:قوائم انتظار BizTalk وMSMQ وSQL Server (SSIS).وبدلاً من ذلك، إذا كنت تبحث عن شيء أصغر حجمًا، أنصحك بلصقه في جدول قاعدة البيانات في مكان ما.

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

تم التعديل للإضافة:

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

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