Procedura: Inviare e ricevere documenti binari utilizzando un servizio Web ASP.NET e Visual C#. NET

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 318425
Sommario
In questo articolo viene illustrato come creare un servizio Web e un client del servizio Web per inviare e ricevere documenti binari utilizzando Microsoft ASP.NET e Microsoft Visual C#. NET. È possibile utilizzare ASP.NET e Visual C# .NET per creare un servizio Web che salva i documenti binari in una cartella su un server Web e recupera i documenti binari da una cartella su un server Web. È possibile utilizzare questo servizio come un semplice sistema di gestione documenti sul Web.

back to the top

Creare il servizio Web

  1. Dal menu file in Microsoft Visual Studio. NET, fare clic su Nuovo , quindi progetto .
  2. In Progetti di Visual C# , selezionare il Servizio Web ASP.NET . Digitare o incollare http://localhost/DocumentManagementService per il percorso e quindi fare clic su OK . Per impostazione predefinita, Service1.asmx viene creato e viene visualizzato in visualizzazione struttura.
  3. Dal menu Visualizza scegliere codice per visualizzare la visualizzazione del codice per Service1.asmx.
  4. Aggiungere il seguente codice di WebMethod alla classe 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;	} 					

    Nota: Il codice salva i documenti per il <root>: percorso di directory \\DocumentDirectory\\ sul server. Passare questo alla cartella sul server Web in cui si desidera salvare i documenti.

  5. Aggiungere il seguente spazio dei nomi all'inizio del Service1.asmx:
    using System.IO;
  6. Verificare il servizio Web:
    1. Scegliere dal menu debug , l'opzione Start per avviare il servizio Web. Verrà avviato il browser e verrà visualizzata la pagina della Guida della descrizione del servizio.
    2. Assicurarsi che vengano visualizzati i metodi SaveDocument , GetDocument e GetDocumentLen .
    3. Chiudere la finestra del browser Web per interrompere il debug.
back to the top

Creare un client per il servizio Web

  1. Dal menu file in Visual Studio. NET, scegliere Aggiungi progetto , quindi Nuovo progetto .
  2. Nell'elenco Progetti di Visual C# , selezionare Applicazione Windows e quindi fare clic su OK . Per impostazione predefinita, verrà creato Form1.
  3. Aggiungere un riferimento Web al servizio Web, come illustrato di seguito:
    1. In Esplora soluzioni, fare clic con il pulsante destro del mouse all'elemento di progetto client. Quindi scegliere Aggiungi riferimento Web dal menu di scelta rapida .
    2. Nella finestra di dialogo Aggiungi riferimento Web digitare l'URL del file WSDL (Web Services Description Language) per il servizio Web e quindi premere INVIO.

      Nota: Il percorso di predefinito per il file WSDL è http://localhost/DocumentManagementService/Service1.asmx?WSDL.
    3. Nella finestra di dialogo Aggiungi riferimento Web , scegliere Aggiungi riferimento .
  4. Aggiungere due pulsanti a Form1. Impostare la proprietà testo button1 al Documento archivio sul server . Impostare la proprietà testo button2 al Documento di recuperare dal server .
  5. Fare doppio clic su button1 e button2 per creare predefinito selezionare gestori eventi per i pulsanti.
  6. Sostituire i gestori con il codice riportato di seguito:
    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();}					
    Nota: la variabile sFile deve contenere il percorso file locale un documento che verrà caricato il server. Quando il documento è stato scaricato, viene inserito nella stessa cartella, e un valore pari a 2 viene accodato al nome del file.

  7. Aggiungere il seguente spazio dei nomi all'inizio del file:
    using System.IO;
  8. In Esplora soluzioni, fare clic con il pulsante destro del mouse all'elemento di progetto client. Quindi scegliere Imposta come progetto di avvio dal menu di scelta rapida .
back to the top

Provate IT

  1. Nel menu debug , fare clic su Start . Verrà visualizzato Form1.
  2. Fare clic sul pulsante Documento archivio sul server . Questo chiamerà il metodo di Web di SaveDocument . Questo metodo Web salva il documento locale nel <root>: \DocumentDirectory\ cartella sul server. Dopo che si sono state trasferite al documento, è necessario verificare che il file esista nella cartella di destinazione.
  3. Fare clic sul pulsante Documento recupera dal server . Questo chiamerà il metodo di Web di GetDocument . Questo metodo di Web recupera il documento dal <root>: \DocumentDirectory\ cartella sul server. Il documento viene salvato nell'unità locale in cui è specificato nel codice.
back to the top
Riferimenti
Per ulteriori informazioni, vedere la documentazione di .NET Microsoft Visual Studio.

back to the top
Servizi web ASP .NET documento binario

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 318425 - Ultima revisione: 12/15/2003 14:57:43 - Revisione: 4.2

Microsoft ASP.NET 1.0, Microsoft Visual C# .NET 2002 Standard Edition

  • kbmt kbhowtomaster KB318425 KbMtit
Feedback