Sunday, 26 November 2017

عملية ويتوفوريكسيت ستانداردوتوبوت


إيلينا: شكرا لإجابتك. هناك بعض الملاحظات في الجزء السفلي من مستند مسن هذا (msdn. microsoften - أوسليبراريهليب) التي تحذر حول ديادلوكس المحتملة إذا قرأت إلى نهاية كل من ستدوت إعادة توجيه و ستدر تيارات بشكل متزامن. IT39s من الصعب معرفة ما إذا كان الحل الخاص بك هو عرضة لهذه المسألة. أيضا، يبدو أنك تقوم بإرسال العملية 39 ستدوتستدر إخراج الحق في العودة كمدخلات. لماذا ا. ) نداش ماتيو بيات سيب 26 16 في 4:42 هذا هو أكثر حداثة تنتظر، مكتبة مكتبة موازية تبل (تبل) حل قائم على 4.5 وما فوق. مثال الاستخدام أجاب التنفيذ أكتوبر 5 16 في 10:54 أنا شيء أن هذا هو نهج بسيط وأفضل (نحن لسنا بحاجة أوتوريزيتيفنت): أجاب 14 يونيو 12 في 14:29 صحيح، ولكن mustn39t كنت تقوم به. فيلنام المسار quggsci. exequot كوت لوت obeycommand. txtquot لتبسيط التعليمات البرمجية الخاصة بك أو ربما شيء ما يعادل الأمر كوتشو كوت المسار quggsci. exequot إذا كنت حقا don39t تريد استخدام ملف obeycommand. txt منفصل. نداش اميت نيدو يونيو 4 13 في 22:03 الحل الخاص بك لا تحتاج أوتوريزيتيفنت ولكن لك الاستطلاع. عند إجراء الاستطلاع بدلا من استخدام الحدث (عندما تكون متاحة) ثم كنت تستخدم وحدة المعالجة المركزية دون سبب والتي تشير إلى أنك مبرمج سيئة. الحل الخاص بك هو سيء حقا بالمقارنة مع الآخر باستخدام أوتوريزيتيفنت. (لكنني لم أعطيك -1 لأنك حاولت المساعدة). نداش إيريك أويليت نوف 7 14 في 18:38 كنت تواجه نفس المشكلة، ولكن السبب كان مختلفا. ومع ذلك فإنه يحدث تحت ويندوز 8، ولكن ليس تحت ويندوز 7. يبدو أن السطر التالي قد تسبب في المشكلة. كان الحل عدم تعطيل وسشليكسكيوت. تلقيت الآن نافذة منبثقة شل، غير المرغوب فيها، ولكن أفضل بكثير من البرنامج في انتظار لا شيء معين أن يحدث. لذلك أضفت العمل التالي حول ذلك: الآن الشيء الوحيد الذي يزعجني هو لماذا يحدث هذا تحت ويندوز 8 في المقام الأول. أجاب 13 يناير 15 في 10:35 حاولت أن تجعل فئة من شأنها أن تحل مشكلتك باستخدام تيار غير متزامن قراءة، من خلال الأخذ في الاعتبار مارك بييرز، روب، ستيفيفاي الأجوبة. القيام بذلك أدركت أن هناك خلل المتعلقة غير متزامن الناتج إخراج تيار قراءة. لا يمكنك القيام بذلك: سوف تتلقى System. InvalidOperationException. لم تتم إعادة توجيه ستانداردوت أو لم تبدأ العملية بعد. ثم عليك أن تبدأ إخراج غير متزامن قراءة بعد بدء العملية: القيام بذلك، وجعل حالة سباق لأن تيار الإخراج يمكن أن تتلقى البيانات قبل تعيينه إلى غير متزامن: ثم بعض الناس يمكن أن أقول أن لديك فقط لقراءة تيار قبل تعيينه إلى غير متزامن. ولكن نفس المشكلة تحدث. سيكون هناك حالة سباق بين قراءة متزامن وتعيين تيار في وضع غير متزامن. لا توجد طريقة للحصول على قراءة غير متزامنة آمنة من تيار الإخراج من عملية في الطريقة الفعلية وقد تم تصميم عملية و بروسيسستارتينفو. ربما كنت أفضل باستخدام قراءة غير متزامن مثل اقترح من قبل المستخدمين الآخرين لحالتك. ولكن يجب أن تكون على علم بأنك يمكن أن تفوت بعض المعلومات بسبب حالة السباق System. Diagnostics. Process فئة 8211 الجزء 1 process. WaitForExit و. الحدث المستقبلي aren8217t العمل ظننت أنني قد وجدت هذا هو الحال ولكن كان خطأي، وربما نفس الشيء بالنسبة لك أيضا. سوف أذهب إلى ما وجدت أثناء استكشاف وحل هذه المسألة. الجواب القصير: إذا كنت تقوم بإعادة توجيه ستانداردوتبوت أندور ستاندارديرور، استخدم أفضل أساليب غير المتزامنة process. BeginErrorReadLine () و. BeginOutputReadLine () قبل استدعاء. WaitForExit () والتقاط الإخراج عن طريق ربط الأحداث process. ErrorDataReceived و. OutputDataReceived. الجواب الطويل يبدأ معي باستخدام فيسوال ستوديو divfmerge. exe في المجلد Common7IDE لمقارنة الملفات النصية في وضع دفعة. أنا إدخال اختبار الانحدار في عملية دفعة بدأت دفعة. كنت بحاجة إلى أداة من شأنها أن تبصق ملف اختلاف النص عند مقارنة ملفين (وليس ملف نتيجة الدمج). وينميرج أند بيوند مقارنة هي تحت تصرفي ولكن لا يبدو أن تنتج أي شيء ولكن دمج النتائج (التي عادة ما أريد، ولكن ليس هذا الوقت). سوف بلدي الانحدار إطار استدعاء devfmerge. exe وتخزين ملف ديف الناتجة للمراجعة في وقت لاحق. أنا ترميز بلدي بروسيسستارتينفو اتبع ذلك مع بدء العملية والانتظار لإنهاء العملية. وانتظر الانتظار الانتظار. هذا حصلت لي قراءة مسن وحفر أعمق في استخدام فئة العملية. لقد اكتشفت بعض المعلومات المثيرة للاهتمام، وربما كان ينبغي أن يكون واضحا. أولا، وجدت أنه في بعض الأحيان تشغيل بلدي ديفمرج عملية الطفل مع الحجج المختلفة عملت، وأحيانا لم يكن، مما يجعل هذه المسألة غامضة. ثانيا، لقد وجدت أنها عملت بشكل جيد عندما فعلت 8217t إخراج الإخراج. لذلك، من الواضح أنني كنت في عداد المفقودين شيئا. كنت في حاجة لقراءة في الواقع وثائق أبي العملية، وبالتالي وجدت هذه الكتلة: مسن المادة بعد العثور على وقراءة تلك المادة مسن فهمت. سوف نموذج التعليمات البرمجية أعلاه تعمل إذا كان ستدوت أو ستدرور العازلة لا تملأ. ومع ذلك ما كنت أرى كان المخزن المؤقت ستدوت ملء، تم حظر عملية الطفل على الكتابة ستدوتسدورور المقبل، كانت العملية الأم تنتظر بلا حدود على عملية الطفل للخروج قبل القراءة من المخزن المؤقت ستدوتسدورور. بالنسبة لي يبدو أن طريقة ويتفوريكسيت أندور الخروج حدث مكسورة لا اصطياد عملية الطفل الخروج، ولكن كان بلدي التعليمات البرمجية التي تم كسرها. قمت بتعديل التعليمات البرمجية لاستخدام أساليب غير متزامنة وفجأة ذهبت مشاكلي بعيدا. لا مزيد من الحجب، وعمل كل شيء كما هو متوقع. اعتدت سترينغبويلدرز كما مخازن لعقد البيانات الواردة في الأحداث. في الجزء 2، واجهت مشكلة مع عمليات ستدوتسدورور ريادلين التطبيقات حول الاحتياجات الخاصة بي، وأذهب إلى كيفية حل هذه المسألة.

No comments:

Post a Comment