Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Start Process - w3wp Issue

Îåêßíçóå áðü ôï ìÝëïò cosgeo. Τελευταία δημοσίευση από το μέλος cosgeo στις 19-10-2007, 10:52. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  17-10-2007, 10:23 36343

    Start Process - w3wp Issue

    Καλημέρα,

     

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

     

    Το πρόβλημα μου είναι ότι όταν καλώ ένα bat file από την aspx σελίδα τότε ξεκινάει το process w3wp αλλά ποτέ δεν κλείνει, ποτέ δεν ολοκληρώνεται η διαδικασία.

     

    Το παράλογο, για μένα, είναι ότι όταν κάνω debug μέσα στο VisualStudio τρέχει κανονικά. Όταν το ανεβάζω στον IIS δημιουργείται το πρόβλημα.

     

    Το Loop που βλέπεται στον κώδικα παρακάτω το χρησιμοποιώ ώστε η σελίδα να περιμένει να ολοκληρωθεί η εκτέλεση του bat αρχείου.

    Στο τέλος του bat αρχείου έχω γράψει “echo OK!” ώστε να το διαβάσει το process που τρέχω και να εμφανιστεί το αντίστοιχο μήνυμα στον χρήστη.

    '-----------------------------------------------------------------------------------------------------------
    Dim valFinal As String = "c:\" + Me.ddlBatFile.SelectedValue + ".bat " + valMonth + " " + valYear + " " + valScenario

    Dim ProcInfo As New System.Diagnostics.ProcessStartInfo("cmd")
    ProcInfo.RedirectStandardInput = True
    ProcInfo.RedirectStandardOutput = True
    ProcInfo.UseShellExecute = False

    Dim Proc As System.Diagnostics.Process = System.Diagnostics.Process.Start(ProcInfo)
    Proc.StandardInput.WriteLine(valFinal)

    Do Until Proc.StandardOutput.ReadLine = "OK!"
    Loop

    lbltext.Text = "Batch process has been complited for " + valMonth + "," + valYear + " - " + valScenario

    Proc.Close()
    Proc.Dispose()
    '-----------------------------------------------------------------------------------------------------------

    Οποιαδήποτε βοήθεια θα ήταν πολύ χρήσιμη,
    Ευχαριστώ!

  •  17-10-2007, 16:25 36350 σε απάντηση της 36343

    Απ: Start Process - w3wp Issue

    Καλησπέρα,

    Το πρώτο που μου έρχετε στο μυαλό, είναι ότι καποια εντολή του bat file, λογο ίσως prvilages, δεν εκτελείτε και πετάει ίσως error ή ερώτηση και έτσι το cmd περιμένει ένα input.

    Για να να δεις αν κάτι τέτοιο συμβαίνει, μέσα στο loop κάνε ReadLine και αν το string που θα πάρεις δεν είναι κενό,  δημιούργισε ένα file και γράφτω μέσα, σιγουρα αυτό σημαίνει ότι θα έχεις ένα file για κάθε πέρασμα της λουπας, αλλα μικρό το κακό.

     

    Do Until Proc.StandardOutput.ReadLine = "OK!"

    'do ReadLine and write the results to a file. CARE!!! the name of the files
    Loop

    Ελπίζω να βοήθεισα

    Νάσος


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  19-10-2007, 10:52 36383 σε απάντηση της 36350

    Απ: Start Process - w3wp Issue

    Νάσσο,

    ευχαριστώ για την βοήθεια!

     

    Το πρόβλημα ήταν ότι στο Loop που έκανα περίμενα να πάρω “OK!”. Αυτό δεν μπορούσε να γίνει διότι μαζί με το “OK!” επέστρεφε και την ημ/νία εκτέλεσης της εντολής. Έβαλα ένα Right και το πρόβλημα λύθηκε.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems