أفضل طريقة لحريق الموضوع / العملية ضمن IIS / WCF، في استضافة مشتركة

StackOverflow https://stackoverflow.com/questions/673402

سؤال

والسيناريو: تتلقى خدمة WCF على XDocument من العملاء، والعمليات عليها وإدراج صف واحد في SQL الجدول MS

وعدة عملاء يمكن استدعاء خدمة WCF في وقت واحد. الدعوة عادة لا تستغرق وقتا طويلا (بضعة ثوان).

والآن أحتاج <م> شيء الاستقصاء جدول SQL وتشغيل مجموعة أخرى من العمليات بطريقة غير متزامن. ليس لدى عملية 2ND إلى الاستدعاء أي شيء ولا علاقة له WCF بأي شكل من الأشكال. فإنه يحتاج فقط لقراءة الجدول وتنفيذ سلسلة من الأساليب وربما مكالمة خدمة ويب (إذا كان هناك سجلات وبطبيعة الحال)، ولكن هذا كل شيء. عملاء خدمة WCF استهلاك الخدمات المذكورة أعلاه ليست لدي فكرة من هذا ولا يهتمون به.

ولقد قرأت عن هذا السؤال ستاكوفيرفلوو وأنا أعلم أيضا أن خدمة ويندوز سيكون أمرا مثاليا، ولكن سوف تستضيف هذه الخدمة WCF على الاستضافة المشتركة (discountasp أو ما شابه ذلك)، وبالتالي، تركيب خدمة ويندوز لن يكون خيارا (كما على حد علمي).

وبالنظر إلى أن بنية ثابتة (IE: لا أستطيع تغيير الجدول، لأنه يأتي من شكل تركة، ولا تغيير آلية خدمة WCF)؟، ماذا سيكون اقتراحكم لاستطلاع / عملية هذا الجدول

وأقول أنا في حاجة إليها للتأكد من كل 10 دقيقة أو نحو ذلك. أنها لا تحتاج إلى أن تكون حظة.

وشكرا.

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

المحلول

والغش. فضح هذه العملية خدمة WCF آخر واطلاق النار أمر الانتقال من مربع تحت سيطرتك في الوقت المحدد.

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

نصائح أخرى

لا تناسب تطبيق الويب على الإطلاق أن يكون تشغيل شيء في فترات زمنية ثابتة. إذا كان هناك أي طلبات قادمة، لا يوجد أي رمز تشغيل في التطبيق، وإذا كان التطبيق غير نشط لفترة من الوقت في IIS أن تقرر إغلاقها تماما حتى يأتي الطلب التالي في.

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

إذا كان لديك الوصول إلى إدارة قاعدة البيانات، هناك جدولة في SQL Server. ويمكن تشغيل الاستعلامات والإجراءات المخزنة، وحتى بدء العمليات إذا كان لديك إذن (وهو أمر مستبعد جدا على استضافة مشتركة، على الرغم من).

إذا كنت في حاجة إلى التعليمات البرمجية على فترة زمنية محددة، والتي لا يمكن الوصول إلى الخادم لتحديد موعد أو تشغيله كخدمة، أو لا يمكن استخدام جدولة SQL Server، فإنه ببساطة ليست قابلة للتنفيذ.

تأكد أنك تجمع التطبيقات "النشط دائما"، وتفعل ما تريد مع المواضيع الخاصة بك.

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