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

Traduzione articoli Traduzione articoli
Identificativo articolo: 318425 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

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.

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.

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 .

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.

Riferimenti

Per ulteriori informazioni, vedere la documentazione di .NET Microsoft Visual Studio.

Proprietā

Identificativo articolo: 318425 - Ultima modifica: lunedė 15 dicembre 2003 - Revisione: 4.2
Le informazioni in questo articolo si applicano a:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Chiavi: 
kbmt kbhowtomaster KB318425 KbMtit
Traduzione automatica articoli
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
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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