ΕΠΙΔΙΌΡΘΩΣΗ: Αντιμετωπίζετε διάφορα ζητήματα σε υποδομή ροής εργασίας των Windows

Συμπτώματα

Στο Microsoft Windows Workflow Foundation, ενδέχεται να αντιμετωπίσετε ένα από τα ακόλουθα ζητήματα.

Πρόβλημα 1

Όταν μια ροή εργασίας καταργεί τη φόρτωση μετά από διατήρηση, οι χρονιστές ενδέχεται να μην λειτουργήσουν.

Πρόβλημα 2

Μπορείτε να προσθέσετε μια ένθετη προσαρμοσμένη δραστηριότητα σε μια ροή εργασίας. Ωστόσο, όταν προσπαθείτε να προσθέσετε ξανά την ίδια δραστηριότητα, η δραστηριότητα δεν προστίθεται στη ροή εργασίας.

Πρόβλημα 3

Στο Microsoft Office SharePoint Designer 2007, μπορείτε να δοκιμάσετε για να καθορίσετε τις ροές εργασίας που χρησιμοποιούν προσαρμοσμένες ενέργειες. Τις προσαρμοσμένες ενέργειες που ορίζονται σε μια συγκρότηση με αριθμό έκδοσης που μοιάζει με της ένα. b. c. δ. Όταν το κάνετε αυτό, ενδέχεται να λάβετε το ακόλουθο μήνυμα λάθους:
Ήταν δυνατή η αποθήκευση της ροής εργασίας, αλλά δεν μπορεί να εκτελεστεί
Το πρόγραμμα μεταγλώττισης δίνει την εξής αιτία του σφάλματος:
Η συγκρότηση δεν έχει δηλωθεί ως μη εξουσιοδοτημένων τύπος
Το πρόγραμμα μεταγλώττισης εμφανίζει ένα μήνυμα που εξηγεί ότι η έκδοση είναι εσφαλμένη. Για παράδειγμα, το μήνυμα αναφέρει ότι μιαέκδοση. b. d. c δεν είναι σωστή. Σημειώστε ότι τα δύο τελευταία ψηφία της έκδοσης έχουν αντιστραφεί.

Αιτία

Πρόβλημα 1

Αυτό το ζήτημα παρουσιάζεται επειδή η λειτουργία αναίρεσης φόρτωσης αλλάζει την κατάσταση της ουράς χρονιστή της ροής εργασίας. Ωστόσο, η λειτουργία αναίρεσης φόρτωσης δεν ορίζει τη σημαία κατάστασης dirty στη ροή εργασιών. Η ουρά χρονιστή περιέχει μια σημαία δυαδικής τιμής που χρησιμοποιείται για να παρακολουθείτε αν πρέπει να καταχωρηθεί πάλι με την υπηρεσία χρονοδιαγράμματος της ουράς χρονιστή μετά την επαναφορά του χρονομέτρου. Κατά τη διάρκεια μιας λειτουργίας αναίρεσης φόρτωσης, η τιμή αυτή η δυαδική τιμή σημαία αλλαγές για να υποδείξει ότι η ροή εργασίας πρέπει να καταχωρηθούν με το χρονοδιάγραμμα. Αυτή η αλλαγή τιμής σημαία ενδέχεται να μην αποθηκευτεί, εάν δεν έχει οριστεί η σημαία κατάστασης dirty στη ροή εργασιών. Επομένως, όταν προκύπτει μια λειτουργία αναίρεσης φόρτωσης μετά από ένα σημείο της διατήρησης, της ουράς χρονιστή δεν μπορεί να πει να δηλώσετε ξανά οι χρονιστές. Αυτή η συμπεριφορά μπορεί να προκαλέσει χρονιστές δεν για να συνεχίσετε.

Προτεινόμενη αντιμετώπιση

Πληροφορίες ενημερωμένης έκδοσης

Μια έκδοση που υποστηρίζεται είναι τώρα διαθέσιμη από το Κέντρο λήψης της Microsoft. Για να κάνετε λήψη αυτής της ενημερωμένης έκδοσης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

Προϋποθέσεις

Δεν απαιτούνται προϋποθέσεις.

Απαίτηση επανεκκίνησης

Αν και δεν θα λάβετε ένα μήνυμα στο τέλος της εγκατάστασης, πρέπει να επανεκκινήσετε τον υπολογιστή μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.

Πληροφορίες αρχείων

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.
εκδόσεις 32-bit
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏρα
System.workflow.activities.dll3.0.4203.2011,111,42420-Feb-200716:53
System.workflow.componentmodel.dll3.0.4203.2011,643,91220-Feb-200716:53
System.workflow.runtime.dll3.0.4203.201591,22420-Feb-200716:53
Οι εκδόσεις 64-bit
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏρα
System.workflow.activities.dll3.0.4203.2011,111,42420-Feb-200716:53
System.workflow.componentmodel.dll3.0.4203.2011,643,91220-Feb-200716:53
System.workflow.runtime.dll3.0.4203.201591,22420-Feb-200716:53

Εναλλακτικός τρόπος αντιμετώπισης

Πρόβλημα 2

Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:
  1. Κλείστε το αρχείο .cs WorkflowName.
  2. Ανοίξτε ξανά το αρχείο .cs WorkflowName.
  3. Προσθέστε τις ένθετες προσαρμοσμένες δραστηριότητες στο αρχείο .cs WorkflowName.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με την ορολογία των ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft:

824684 περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft

Για περισσότερες πληροφορίες σχετικά με χρονιστές δεν συνέχιση λειτουργίας μετά την επαναφόρτωση μιας ροής εργασίας, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

932394 ένας χρονιστής δεν συνεχίζει τη λειτουργία μετά την επαναφόρτωση μιας ροής εργασίας στο Microsoft Windows Workflow Foundation

Βήματα για την αναπαραγωγή του προβλήματος

Πρόβλημα 1

  1. Για να δημιουργήσετε μια νέα ροή εργασίας που περιέχει ένα αντικείμενο DelayActivity .
  2. Ορίστε την ιδιότητα TimeoutDuration του αντικειμένου DelayActivity σε οποιαδήποτε στιγμή στο μέλλον.
  3. Για να προσθέσετε ένα αντικείμενο SqlWorkflowPersistenceService το οποίο έχει την παράμετρο unloadOnIdle που έχει οριστεί στην τιμή false.
  4. Πριν από τη λήξη του αντικειμένου DelayActivity , διατήρησης της ροής εργασίας και, στη συνέχεια, να καταργήσετε ρητά τη ροή εργασίας.

    Σημείωση Η λειτουργία αναίρεσης φόρτωσης δεν πρέπει να προκαλεί μια δεύτερη διατήρησης, επειδή δεν έχει οριστεί η σημαία προβληματικό κατάστασης.
  5. Επαναφόρτωση της ροής εργασίας, πριν από τη λήξη του χρονιστή του αντικειμένου DelayActivity .

    Παρατηρήστε ότι ο χρονιστής δεν συνεχίζει.

Πρόβλημα 2

  1. Ξεκινήστε το Microsoft Visual Studio 2005.
  2. Στο μενού αρχείο , επιλέξτε Δημιουργίακαι, στη συνέχεια, κάντε κλικ στο έργο.
  3. Αναπτύξτε το στοιχείο Visual C#, ροή εργασίας, κάντε κλικ, Διαδοχική εφαρμογή κονσόλας ροής εργασίας, κάντε κλικ, πληκτρολογήστε WorkflowConsoleApplication1 στο πλαίσιο όνομα και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  4. Στην Εξερεύνηση λύσεων, κάντε δεξιό κλικ στο WorkflowConsoleApplication1, κάντε κλικ στο κουμπί Προσθήκηκαι, στη συνέχεια, κάντε κλικ στο κουμπί Δημιουργία στοιχείου.
  5. Κάντε κλικ στο κουμπί δραστηριότητας, πληκτρολογήστε ParentActivity.cs στο πλαίσιο όνομα και, στη συνέχεια, κάντε κλικ στο κουμπί Προσθήκη.
  6. Στην Εξερεύνηση λύσεων, κάντε δεξιό κλικ στο WorkflowConsoleApplication1, κάντε κλικ στο κουμπί Προσθήκηκαι, στη συνέχεια, κάντε κλικ στο κουμπί Δημιουργία στοιχείου.
  7. Κάντε κλικ στο κουμπί δραστηριότητας, πληκτρολογήστε ChildActivity.cs στο πλαίσιο όνομα και, στη συνέχεια, κάντε κλικ στο κουμπί Προσθήκη.
  8. Προσθήκη δραστηριότητας CodeActivity σε ChildActivity.cs.
  9. Κάντε διπλό κλικ στο CodeActivity δραστηριότητας που προσθέσατε στο βήμα 8 και στη συνέχεια να προσθέσετε ένα πρόγραμμα χειρισμού κώδικα της δραστηριότητας CodeActivity .
  10. Από το μενού Δημιουργία , κάντε κλικ στο κουμπί Αναδόμηση λύση.
  11. Προσθήκη ChildActivity δραστηριότητας που θα δημιουργήσετε στο βήμα 7 με το αρχείο ParentActivity.cs.
  12. Από το μενού Δημιουργία , κάντε κλικ στο κουμπί Αναδόμηση λύση.
  13. Προσθήκη ParentActivity δραστηριότητας που δημιουργήσατε στο βήμα 5 στο αρχείο Workflow1.cs.
  14. Αλλάξτε την τιμή της ιδιότητας όνομα της δραστηριότητας ParentActivity σε testActivity.
  15. Προσθέστε μια άλλη δραστηριότητα ParentActivity στο αρχείο Workflow1.cs.
Ιδιότητες

Αναγνωριστικό άρθρου: 932816 - Τελευταία αναθεώρηση: 14 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια