Saturday, 30 December 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. لم تتم إعادة توجيه ستانداردوت أو لم تبدأ العملية بعد. ثم عليك أن تبدأ إخراج غير متزامن قراءة بعد بدء العملية: القيام بذلك، وجعل حالة سباق لأن تيار الإخراج يمكن أن تتلقى البيانات قبل تعيينه إلى غير متزامن: ثم بعض الناس يمكن أن أقول أن لديك فقط لقراءة تيار قبل تعيينه إلى غير متزامن. ولكن نفس المشكلة تحدث. سيكون هناك حالة سباق بين قراءة متزامن وتعيين تيار في وضع غير متزامن. لا توجد طريقة للحصول على قراءة غير متزامنة آمنة من تيار الإخراج من عملية في الطريقة الفعلية وقد تم تصميم عملية و بروسيسستارتينفو. ربما كنت أفضل باستخدام قراءة غير متزامن مثل اقترح من قبل المستخدمين الآخرين لحالتك. ولكن يجب أن تكون على علم بأنك يمكن أن تفوت بعض المعلومات بسبب حالة العرق. الشفرة يشبه تقريبا هذا: كما ترون، التعليمات البرمجية يبدأ عملية cmd. exe ويمر إليها الأمر أريد أن يتم تنفيذها. إعادة توجيه ستانداردرور و ستاندارتبوت من أجل قراءتها من التعليمات البرمجية. قراءة التعليمات البرمجية لهم قبل العملية. مكالمة ويتيفوريكسيت (مهلة) كما أوصت بها ميكروسوفت (المزيد عن هذا لاحقا). تنشأ المشكلة إذا كان الأمر الذي أرسله إلى cmd. exe لا ينتهي أبدا أو تعليق إلى أجل غير مسمى. في التعليمات البرمجية استخدم الأمر بينغ - t 8.8.8.8 الذي، بسبب الخيار - t، بينغ المضيف دون توقف. ماذا يحدث عملية cmd. exe جنبا إلى جنب مع الأمر بينغ - t أبدا يخرج ويغلق أبدا ستدوت تيار وهكذا التعليمات البرمجية الخاصة بك معلقة في خط الانتاج. StandardOutput. ReadToEnd () لأنه لا يمكن أن تنجح قراءة كل تيار. يحدث نفس الشيء أيضا إذا كان الأمر في ملف دفعي يعلق لأي سبب من الأسباب، وبالتالي فإن التعليمات البرمجية أعلاه يمكن أن تعمل بشكل مستمر لسنوات ثم تعليق فجأة دون أي سبب واضح. قبل أن أكتب أن الموصى بها لقراءة تيارات إعادة توجيه قبل العملية. استدعاء ويتفوريكسيت (المهلة)، حسنا هذا صحيح بشكل خاص إذا كنت تستخدم توقيع ويتفوريكسيت دون مهلة. إذا قمت بالاتصال بعملية. ويتفوريكسيت () قبل قراءة تيارات إعادة توجيه: التعليمات البرمجية 2: يمكنك تجربة حالة توقف تام إذا كان الأمر الذي تعلقه إلى cmd. exe أو العملية التي تتصل بها يملأ الإخراج القياسية أو خطأ قياسي. هذا لأن التعليمات البرمجية لدينا يمكن أن تصل إلى خطوط عملية الإخراج. ستانداردوتبوت. ريادتويند () في واقع الأمر عملية الطفل (الأمر بينغ أو ملف دفعي أو أي عملية كنت تنفذ) لا يمكن المضي قدما إذا برنامجنا لا يقرأ مخازن عازلة من تيارات وهذا لا يمكن أن يحدث لأن التعليمات البرمجية معلقة في الخط مع العملية. ويتفوريكسيت () والتي سوف تنتظر إلى الأبد لمشروع الطفل للخروج. الحجم الافتراضي لكل من تيارات هو 4096 بايت. يمكنك اختبار هذه الأحجام اثنين مع هذه الملفات دفعة: يكتب السيناريو الأول 4096 بايت إلى الإخراج القياسية والثانية إلى الخطأ القياسي. حفظ واحد من هذه في C: testbuffsize. bat وتشغيل عملية الاتصال البرنامج. ويتفوريكسيت () قبل عملية الإخراج. ستانداردوتبوت. ريادتويند () كما هو الحال في الكود 2. يمكنك القيام بذلك كتابة كوماندرسولت نتيجة إكسكوتشيلكوماندسينك (c: testbuffsize. bat، 1000) في السطر 13 من التعليمات البرمجية 1. التعليمات البرمجية لن تتوقف ولكن إذا قمت بكتابة بايت واحد أكثر في أي من تيارات اثنين سوف تجاوز حجم المخزن المؤقت جعل البرنامج تعليق. إذا كنت بحاجة إلى إعادة توجيه وقراءة الإخراج القياسية أو خطأ القياسى الحل الأفضل هو قراءتها بشكل غير متزامن. طريقة ممتازة للقيام بذلك يقترحها مارك بييرز في هذا الموضوع ستاكوفيرفلو كما آخر شيء يرجى ملاحظة أنه إذا كان مخارج عملية الطفل فقط لأنك تستخدم هذه العملية. ويتفوريكسيت (مهلة) التوقيع ويذهب في الواقع في مهلة يجب أن تقتل عملية cmd. exe وأطفالها ممكن. إيلينا: شكرا لإجابتك. هناك بعض الملاحظات في الجزء السفلي من مستند مسن هذا (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. لم تتم إعادة توجيه ستانداردوت أو لم تبدأ العملية بعد. ثم عليك أن تبدأ إخراج غير متزامن قراءة بعد بدء العملية: القيام بذلك، وجعل حالة سباق لأن تيار الإخراج يمكن أن تتلقى البيانات قبل تعيينه إلى غير متزامن: ثم بعض الناس يمكن أن أقول أن لديك فقط لقراءة تيار قبل تعيينه إلى غير متزامن. ولكن نفس المشكلة تحدث. سيكون هناك حالة سباق بين قراءة متزامن وتعيين تيار في وضع غير متزامن. لا توجد طريقة للحصول على قراءة غير متزامنة آمنة من تيار الإخراج من عملية في الطريقة الفعلية وقد تم تصميم عملية و بروسيسستارتينفو. ربما كنت أفضل باستخدام قراءة غير متزامن مثل اقترح من قبل المستخدمين الآخرين لحالتك. ولكن يجب أن تكون على علم بأنك يمكن أن تفوت بعض المعلومات بسبب حالة العرق. تقرأ ما تقول مسن حول ذلك: يتم استخدام الزائد ويتفوريكسيت () () () لجعل الانتظار مؤشر الترابط الحالي حتى ينتهي العملية المرتبطة بها. تقوم هذه الطريقة بإرشاد مكون العملية إلى الانتظار لوقت غير محدود من الوقت لإنهاء العملية. قد يؤدي هذا إلى توقف التطبيق عن الاستجابة. على سبيل المثال، إذا قمت باستدعاء كلوسمينويندو لعملية تحتوي على واجهة مستخدم، قد لا يتم التعامل مع الطلب إلى نظام التشغيل إنهاء العملية المقترنة إذا تمت كتابة العملية عدم إدخال حلقة الرسائل. يضمن هذا التحميل الزائد أن جميع عمليات المعالجة قد اكتملت، بما في ذلك التعامل مع الأحداث غير المتزامنة للإخراج القياسي المعاد توجيهه. يجب استخدام هذا التحميل الزائد بعد إجراء مكالمة إلى التحميل الزائد ويتفوريكسيت (Int32) عند إعادة توجيه الإخراج القياسي إلى معالجات الأحداث غير المتزامنة. هذا بالطبع ل. ما الذي يجعلك تعتقد أنه لا ينتظر حتى تنتهي عملية المذكرة ما هي علامات ذلك ما هو دليل الجمعة، 20 فبراير 2009 8:13 م غير متأكد إذا كان هذا قد تغير مؤخرا ولكن مرة أخرى في اليوم التطبيقات على نافذة المحمول أبدا أغلقت حقا عندما ضرب X لإغلاقها، فإنها مجرد تقليل والحفاظ على التوالي في الخلفية (هذا لم يكن خلل، كان ميزة، منذ المرة القادمة التي تبدأ في التطبيق أنه سيتم البدء بسرعة حقا، ياه وأنا أعرف، مجنون ولكن صحيح) بحيث يمكن أن يكون السبب ويتفوريكسيت ربما يتصرف بغرابة والانتظار لبدء التشغيل التطبيق بدلا من الخروج. ولكن بعد ذلك مرة أخرى هو مجرد تكهنات على أساس كنليجد الإصدارات القديمة من ويندوز موبايل. الجمعة، فبراير 20، 2009 11:03 بيإم إد ترغب في عثرة هذا السؤال. إم على ويندوز موبايل 6 القياسية و إيم تحاول تفرخ مثيل المتصفح. إد ترغب في الانتظار حتى يغلق المستخدم المتصفح. ولكن ويتفوريكسيت يعود سريع للغاية. هنا هي التعليمات البرمجية: بروسيس p نيو بروسيس () p. StartInfo. Arguments كوتكسامبل-سيتكيوت p. StartInfo. Verb كوتوبينكوت p. StartInfo. UseShellExecute فالس p. StartInfo. FileName quIExplore. exequot p. Start () p. WaitForExit () مساجيبوكس. Show (كوتنو يجب أن يكون المتصفح كلوسكوت) ما ينبغي أن يكون الطريق الصحيح للحصول على ريسوتس المتوقع الاثنين، يونيو 08، 2009 10:45 بيإم حيث الرمز. رمز. أليكسب الثلاثاء، يونيو 09، 2009 9:58 بيإم إم رؤية نفس المشكلة، ولكن على زب. أعتقد أن الدليل يمكن أن ينظر إليه في أي مصحح أخطاء (كما أرى)، أو في أي تطبيق وحدة التحكم (وليس بالضرورة على الهاتف المحمول) الأربعاء 02 سبتمبر 2009 8:35 م إلا أنك لا ثم الحصول على كائن العملية التي يمكنك استعمال. إذا حاولت ديم ميبروك كعملية جديدة () ميبروك process. Start (كوتيكسبلوريكوت، رمز كوتيفينانس. أرياكسكسوت) myProc. WaitForExit () لا يزال يعود على الفور. الأربعاء، سبتمبر 02، 2009 8:48 م المشكلة أنت لا تبدأ مثيل جديد من iexplore. exe. أنت مجرد إنشاء نافذة جديدة على العملية الحالية. تخميني هو iexplore. exe يبدأ، يرى مثيل سابق ويتصل مع المثال السابق بحيث يفتح نافذة جديدة، ثم هذا المثال الذي بدأت مخارج على الفور. وبالتالي فإن السلوك هو الصحيح ويتوقع. blog. voidnish الأربعاء، سبتمبر 02، 2009 8:52 م تقوم ميكروسوفت بإجراء استطلاع عبر الإنترنت لفهم رأيك لموقع مسن على الويب. إذا اخترت المشاركة، سيتم تقديم الاستبيان عبر الإنترنت لك عند مغادرة موقع مسن على ويب. هل ترغب في المشاركة

No comments:

Post a Comment