Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

Gewusst wie: Senden und empfangen binäre Dateien mit einem ASP.NET-Webdienst und Visual c# .NET

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 318425
Zusammenfassung
In diesem Artikel veranschaulicht das Erstellen eines Webdienstes und eines Webdienstclients senden und empfangen binäre Dokumente mithilfe von Microsoft ASP.NET und Microsoft Visual c# .NET. Sie können ASP.NET und Visual c# .NET verwenden, um einen Webdienst erstellen, der sowohl binäre Dokumente in einem Ordner auf einem Webserver speichert und binäre Dokumente aus einem Ordner auf einem Webserver abgerufen. Sie können diesen Dienst als ein einfaches Dokumentverwaltungssystem im Web verwenden.

back to the top

Erstellen des Webdienstes

  1. Klicken Sie in Microsoft Visual Studio .NET im Menü Datei klicken Sie auf neu und klicken Sie dann auf Projekt .
  2. Wählen Sie in Visual C#-Projekte den ASP.NET-Webdienst . Geben oder http://localhost/DocumentManagementService für den Speicherort einfügen, und klicken Sie dann auf OK . Standardmäßig werden Service1.asmx wird erstellt und wird in der Entwurfsansicht angezeigt.
  3. Klicken Sie im Ansicht auf Code , um die Codeansicht für Service1.asmx anzuzeigen.
  4. Fügen Sie der Klasse "Service1" den folgenden WebMethods Code hinzu:
    [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;	} 					

    Hinweis: <root>Der Code speichert die Dokumente, die <stamm>: \\DocumentDirectory\\ Verzeichnispfad auf dem Server. Ändern Sie die Ordner auf Ihrem Webserver, in dem Sie die Dokumente speichern möchten.

  5. Fügen Sie den folgenden Namespace am Anfang von der Service1.asmx:
    using System.IO;
  6. Testen des Webdienstes:
    1. Klicken Sie auf im Menü Debuggen auf Starten , zum Starten des Webdienstes. Dies startet den Webbrowser, und die Hilfeseite Dienst Beschreibung angezeigt.
    2. Stellen Sie sicher, dass die Methoden SaveDocument , GetDocument und GetDocumentLen angezeigt.
    3. Schließen Sie das Web Browser-Fenster um Debuggen zu beenden.
back to the top

Erstellen eines Clients für den Webdienst

  1. Klicken Sie in Visual Studio .NET im Menü Datei auf Projekt hinzufügen und dann auf Neues Projekt .
  2. Wählen Sie in der Liste Visual C#-Projekte die Option Windows-Anwendung , und klicken Sie dann auf OK . Standardmäßig wird jetzt Form1 erstellt.
  3. Fügen Sie einen Webverweis auf den Webdienst folgendermaßen:
    1. Klicken Sie im Projektmappen-Explorer mit der Maustaste auf das Client-Projekt-Element. Wählen Sie dann Webverweis hinzufügen im Kontextmenü .
    2. Im Dialogfeld Webverweis hinzufügen geben den URL der WSDL (Web Services Description Language)-Datei für den Webdienst, und drücken Sie anschließend die [EINGABETASTE].

      Hinweis: Der Standardspeicherort für die WSDL-Datei ist http://localhost/DocumentManagementService/Service1.asmx?WSDL.
    3. Klicken Sie im Dialogfeld Webverweis hinzufügen auf Verweis hinzufügen .
  4. Fügen Sie zwei Schaltflächen zu Form1 hinzu. Legen Sie die Text -Eigenschaft von button1 zu Dokument auf dem Server speichern . Legen Sie die Text -Eigenschaft des button2 Dokument vom Server abrufen .
  5. Doppelklicken Sie auf button1 und button2 Standard erstellen Click-Ereignishandler für die Schaltflächen.
  6. Ersetzen Sie die Ereignishandler durch den folgenden Code:
    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();}					
    Hinweis: die sFile Variable muss den lokale Pfad zu einem Dokument, die an den Server hochgeladen werden enthalten. Wenn das Dokument gedownloadet wird, wird in demselben Ordner platziert, und der Wert 2 wird auf den Dateinamen angefügt.

  7. Fügen Sie den folgenden Namespace am Anfang der Datei:
    using System.IO;
  8. Klicken Sie im Projektmappen-Explorer mit der Maustaste auf das Client-Projekt-Element. Klicken Sie dann als Startprojekt festlegen im Kontextmenü auf.
back to the top

Probieren Sie es einfach

  1. Klicken Sie im Menü Debuggen auf Starten . Form1 wird angezeigt.
  2. Klicken Sie auf die Schaltfläche Dokument auf dem Server speichern . Dadurch wird die SaveDocument Webmethode aufzurufen. <root>Diese Webmethode speichert das lokale Dokument in der <stamm>: \DocumentDirectory\ Ordner auf dem Server. Nachdem Sie das Dokument übertragen haben, stellen Sie sicher, dass die Datei im Zielordner vorhanden ist.
  3. Klicken Sie auf die Schaltfläche Dokument vom Server abrufen . Dadurch wird die GetDocument Webmethode aufzurufen. <root>Diese Web-Methode ruft das Dokument aus der <stamm> ab: \DocumentDirectory\ Ordner auf dem Server. Das Dokument wird auf dem lokalen Laufwerk gespeichert, im Code angegeben ist.
back to the top
Informationsquellen
Weitere Informationen finden Sie Microsoft Visual Studio .NET Dokumentation.

back to the top
ASP .NET Dokument Webdienste Binär

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 318425 – Letzte Überarbeitung: 12/15/2003 14:57:43 – Revision: 4.2

  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
  • kbmt kbhowtomaster KB318425 KbMtde
Feedback
amp;did=1&t=">;m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >>