سؤال

لدي خدمة WF أحاول إعدادها تلقي أنشطة "للاشتراك" و "إلغاء الاشتراك". أنا استخدم هذا البرنامج التعليمي Duplex Duplex متين كأساس لأن خدمتي تؤدي عمليات الاسترجاعات للعملاء. في الأساس ، فكر في الأمر كخدمة دردشة.

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

عندما يتصل العميل بإلغاء الاشتراك () ، فإن ساعتي التي قمت بتعيينها على العنوان VAR أثناء تصحيح الأخطاء تُظهر ذلك كـ null. إذن ما الذي يعطي؟

إليك الإعداد الأساسي لتخطيط خدمة WF الخاص بي ...

كل شيء مغلف في نشاط dowhile. من الداخل هو نشاط اختيار واثنين من فروع اختيار. الفرع الأول هو للاشتراك أنشطة. إنه يحتوي على نشاط متلقٍ يعين السلسلة التي يمررها العميل إلى عنوان WF VAR. الفرع الثاني يتعامل مع إلغاء الاشتراك. الزناد هو نشاط الطلب ويتم تمرير عنوان العميل مرة أخرى.

من هناك يذهب إلى تسلسل ، بدءا من IF. يتحقق لمعرفة ما إذا كان unsubscribeAddress يساوي address مشترك بالفعل. إذا حدث ذلك ، فإنه يعين address إلى String.Empty ويرسل رسالة نجاح إلى العميل.

لماذا سيتم تعيين متغير يتم تحديده إلى نشاط Dowhile المغلف ضمنيًا إلى Null؟ أحاول تشغيل هذا الأمر حتى أتمكن من تنفيذ العديد من مشتركي العملاء من هناك والعمل على المشغلات التي تستدعي عمليات الاسترداد لعدة عملاء.

تحرير CONCAT: لقد قمت بتعيين نقطة توقف على مستوى dowhile و vare لي مرة واحدة Unsubscribe() يسمى. متي Subscribe() يتم استدعاؤه ، تُظهر الساعة قيمة في VAR طوال الطريق. إلى أن Unsubscribe() مع عميل. هل يجب أن أستخدم نشاطًا واحدًا بدلاً من ذلك؟

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

المحلول 3

واو ، حسنا أشياء مخيفة. اضطررت إلى تسليم ملف XAMLX في وقت سابق والمراجع التي قمت بتحريرها من أجل SendReplyToreceive Saved Funny عندما عدت إلى مصمم النشاط. جعل الأمر يبدو كما لو كان لدي اثنين Unsubscribe()'s وليس ذلك فحسب ، بل كانت مقابض الارتباط لكل فرع تعبر بين الفروع.

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

نصائح أخرى

دون رؤية سير العمل ، لا يمكنني سوى عمل بعض التخمينات ولكن الأشياء التي سأبحث عنها هي:

  1. هل المتغير المتغير في تسلسل أو شيء داخل نشاط dowhile؟ راجع للشغل لا توجد فائدة لتغييره إلى نشاط الوقت ، والفرق الوحيد هو أن الحالة يتم اختبارها في البداية أو النهاية.
  2. هو المتغير المستخدم في مكان آخر وتم مسحه بهذه الطريقة. حاول إعادة تسميتها وشاهد ما يعطي.
  3. هل هناك فاصل في اللعب وهو النوع الذي لم يستمر> أفترض إما سلسلة أو URI ويجب أن يكون كلاهما جيد.
  4. هل هناك مشكلة في الارتباط وهل تتم معالجة رسالة إلغاء الاشتراك بواسطة سير عمل مختلف؟ ماري متأكد من أن cancreateinstance تم تعيينه على خطأ.

حاول صنع فصل خاص {get ؛ تعيين ؛} ومعرفة ما إذا كانت المشكلة لا تزال تثير رأسها ، هذا هو أفضل ما يمكنني القيام به دون رؤية رمز المصدر الفعلي كما وصفته لا أستطيع رؤية أي مشكلات.

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