ΔΙΑΔΙΚΑΣΙΕΣ: Αποστολή και λήψη εγγράφων δυαδική με χρήση μιας υπηρεσίας Web του ASP.NET και Visual C# .NET

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 318425 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο βήμα προς βήμα σας δείχνει τον τρόπο δημιουργίας μιας υπηρεσίας Web και ενός προγράμματος-πελάτη υπηρεσίας Web για αποστολή και λήψη δυαδικά έγγραφα χρησιμοποιώντας το Microsoft ASP.NET και Microsoft Visual C# .NET. Για να δημιουργήσετε μια υπηρεσία Web που αποθηκεύει δυαδικά έγγραφα σε ένα φάκελο σε ένα διακομιστή Web και να ανακτά δυαδικά έγγραφα από ένα φάκελο σε ένα διακομιστή Web, μπορείτε να χρησιμοποιήσετε ASP.NET και Visual C# .NET. Μπορείτε να χρησιμοποιήσετε αυτήν την υπηρεσία ως ένα απλό σύστημα διαχείρισης εγγράφων στο Web.

Δημιουργία της υπηρεσίας Web

  1. Στο διακομιστήFILEΚάντε κλικ στο μενού του Microsoft Visual Studio .NET,Νέα, και στη συνέχεια κάντε κλικ στο κουμπίΤο έργο.
  2. ΣτοΤο Visual C# έργα, επιλέξτε τοΗ υπηρεσία Web του ASP.NET. Πληκτρολογήστε ή επικολλήστεhttp://localhost/DocumentManagementServiceγια τοΘέση, και στη συνέχεια κάντε κλικ στο κουμπίOk. Από προεπιλογή, Service1.asmx δημιουργείται και εμφανίζεται σε προβολή σχεδίασης.
  3. Στο διακομιστήViewμενού, κάντε κλικ στο κουμπίΚωδικόςΓια να εμφανίσετε την προβολή κώδικα για Service1.asmx.
  4. Προσθέστε τον ακόλουθο κώδικα WebMethods για τοΗ κλάση Service1:
    
    [WebMethod]
    public bool SaveDocument( Byte[] docbinaryarray, string docname)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + docname;
    	FileStream objfilestream =new FileStream(strdocPath,FileMode.Create,FileAccess.ReadWrite);
    	objfilestream.Write(docbinaryarray,0,docbinaryarray.Length);
    	objfilestream.Close();
    
    	return true;
    }
    
    [WebMethod]
    public int GetDocumentLen(string DocumentName)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + DocumentName;
    
    	FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;			
    	objfilestream.Close();
    
    	return len;
    } 
    
    
    [WebMethod]
    public Byte[] GetDocument(string DocumentName)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + DocumentName;
    
    	FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;			
    	Byte[] documentcontents  = new Byte[len];
    	objfilestream.Read(documentcontents,0,len);
    	objfilestream.Close();
    
    	return documentcontents;	
    } 
    					

    ΣΗΜΕΙΩΣΗ:Ο κωδικός αποθηκεύει τα έγγραφα για το <root>: \\DocumentDirectory\\ διαδρομή καταλόγου στο διακομιστή. Αλλάξτε αυτό στο φάκελο στο διακομιστή Web όπου θέλετε να αποθηκεύσετε έγγραφα.</root>

  5. Προσθέστε τον ακόλουθο χώρο ονομάτων στην αρχή της Service1.asmx:
    using System.IO;
  6. Δοκιμή της υπηρεσίας Web:
    1. Στο διακομιστήΟ εντοπισμός σφαλμάτωνμενού, κάντε κλικ στο κουμπίStartΓια να ξεκινήσετε την υπηρεσία Web. Αυτό ξεκινά το πρόγραμμα περιήγησης και εμφανίζεται η σελίδα Βοήθειας της περιγραφής υπηρεσίας.
    2. Βεβαιωθείτε ότι τοSaveDocument,GetDocumentANDGetDocumentLenεμφανίζεται το παράθυρο μέθοδοι.
    3. Κλείστε το παράθυρο του προγράμματος περιήγησης Web, για να διακόψετε τον εντοπισμό σφαλμάτων.

Δημιουργία ενός προγράμματος-πελάτη για την υπηρεσία Web

  1. Στο διακομιστήFILEΚάντε κλικ στο μενού στο Visual Studio .NETΠροσθήκη έργου, και στη συνέχεια κάντε κλικ στο κουμπίΝέο έργο.
  2. ΣτοΤο Visual C# έργαλίστα επιλογήςΕφαρμογή των Windows, και στη συνέχεια κάντε κλικ στο κουμπίOk. Από προεπιλογή, δημιουργείται η φόρμα Form1.
  3. Προσθέστε μια αναφορά στο Web της υπηρεσίας Web, ως εξής:
    1. Στην Εξερεύνηση λύσης, κάντε δεξιό κλικ στο στοιχείο έργου υπολογιστή-πελάτη. Στη συνέχεια επιλέξτεΠροσθήκη αναφοράς για το WebΣτο διακομιστήCONTEXTΜενού (Menu).
    2. ΣτοΠροσθήκη αναφοράς για το Webπαράθυρο διαλόγου, πληκτρολογήστε τη διεύθυνση URL για το αρχείο γλώσσας περιγραφής υπηρεσιών Web (WSDL) για την υπηρεσία Web και, στη συνέχεια, πιέστε το πλήκτρο ENTER.

      ΣΗΜΕΙΩΣΗ:Η προεπιλεγμένη θέση για το αρχείο WSDL είναι http://localhost/DocumentManagementService/Service1.asmx?WSDL.
    3. ΣτοΠροσθήκη αναφοράς για το Webπαράθυρο διαλόγου, κάντε κλικ στο κουμπίΠροσθήκη αναφοράς.
  4. Προσθέσετε δύο κουμπιά Φόρμα1. Ορισμός τουTextη ιδιότητα button1 σεΑποθήκευση εγγράφων στο διακομιστή. Ορισμός τουTextη ιδιότητα button2 σεΑνάκτηση εγγράφων από το διακομιστή.
  5. Διπλό κλικbutton1ANDbutton2Για να δημιουργήσετε προεπιλεγμένα επιλογής τα προγράμματα χειρισμού συμβάντων για τα κουμπιά.
  6. Αντικαταστήστε τα στοιχεία χειρισμού συμβάντων με τον ακόλουθο κώδικα:
    string sFile = "<file path>";
    
    private void button1_Click(object sender, System.EventArgs e)
    {
    	FileStream objfilestream = new FileStream(sFile,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;
    	Byte[] mybytearray = new Byte[len];
    	objfilestream.Read(mybytearray,0,len);
    	localhost.Service1 myservice = new localhost.Service1();
    	myservice.SaveDocument(mybytearray,sFile.Remove(0,sFile.LastIndexOf("\\")+1));
    	objfilestream.Close();
    }
    
    private void button2_Click(object sender, System.EventArgs e)
    {
    	MemoryStream objstreaminput = new MemoryStream();
    	FileStream objfilestream = new FileStream(sFile.Insert(sFile.LastIndexOf("."),"2"), FileMode.Create,FileAccess.ReadWrite);
    						
    	localhost.Service1 myservice = new localhost.Service1();
    	int len = (int)myservice.GetDocumentLen(sFile.Remove(0,sFile.LastIndexOf("\\")+1)); 
    	Byte[] mybytearray = new Byte[len];
    	mybytearray = myservice.GetDocument(sFile.Remove(0,sFile.LastIndexOf("\\")+1));
    	objfilestream.Write(mybytearray,0,len);
    	objfilestream.Close();
    }
    					
    ΣΗΜΕΙΩΣΗ:Για ναsFileμεταβλητή πρέπει να περιέχει τη διαδρομή του τοπικού αρχείου σε ένα έγγραφο που θα αποσταλεί στο διακομιστή. Όταν γίνεται λήψη του εγγράφου, τοποθετείται στον ίδιο φάκελο και η τιμή2προσαρτάται στο όνομα του αρχείου.

  7. Προσθέστε τον ακόλουθο χώρο ονομάτων στην αρχή του αρχείου:
    using System.IO;
  8. Στην Εξερεύνηση λύσης, κάντε δεξιό κλικ στο στοιχείο έργου υπολογιστή-πελάτη. Στη συνέχεια επιλέξτεΟρισμός ως Έναρξη έργουΣτο διακομιστήCONTEXTΜενού (Menu).

Δοκιμάστε το

  1. Στο διακομιστήΟ εντοπισμός σφαλμάτωνμενού, κάντε κλικ στο κουμπίStart. Εμφανίζεται το παράθυρο Φόρμα1.
  2. Κάντε κλικ στο κουμπί με την ετικέταΑποθήκευση εγγράφων στο διακομιστή. Αυτό θα καλέσει τηνSaveDocumentΗ μέθοδος του Web. Αυτή η μέθοδος Web αποθηκεύει το έγγραφο τοπικού με το <root>: \DocumentDirectory\ φάκελο στο διακομιστή. Μετά τη μεταφορά των στο έγγραφο, βεβαιωθείτε ότι το αρχείο υπάρχει στο φάκελο προορισμού.</root>
  3. Κάντε κλικ στο κουμπί με την ετικέταΑνάκτηση εγγράφων από το διακομιστή. Αυτό θα καλέσει τηνGetDocumentΗ μέθοδος του Web. Αυτή η μέθοδος Web ανακτά το έγγραφο από το <root>: \DocumentDirectory\ φάκελο στο διακομιστή. Το έγγραφο αποθηκεύεται στον τοπικό δίσκο που καθορίζεται στον κώδικα.</root>

Αναφορές

Για περισσότερες πληροφορίες, ανατρέξτε στο Microsoft Visual Studio .NET τεκμηρίωσης.

Ιδιότητες

Αναγν. άρθρου: 318425 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Λέξεις-κλειδιά: 
kbhowtomaster kbmt KB318425 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:318425

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com