Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Web Services, XML
Web Service - FTP
venerdì 15 settembre 2006 - 14.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
ven 15 set 2006 - 14:48
Ciao ragazzi,
dovrei creare un web service che permetta il traferimento di un file (anche 20mb) da un server all'altro.
Come posso procedere?
grazie
ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 15 set 2006 - 15:59
>Ciao ragazzi,
>dovrei creare un web service che permetta il traferimento di
>un file (anche 20mb) da un server all'altro.
Anche secondo me è meglio utilizzare protocollo FTP.
Però la cosa è possibile anche tramite Web Service. Il Web Service ti consente di ricevere dei dati binari o testo e scriverli su disco (di fatto assimilabile a un trasferimento di file). Colui che invia però generalmente è una applicazione da command line o windows.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
ven 15 set 2006 - 16:12
grazie...
comunque io dovrei sviluppare questo web service con il FrameWork 1.1
ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 15 set 2006 - 16:29
>grazie...
>comunque io dovrei sviluppare questo web service con il FrameWork 1.1
Per quanto mi riguarda la risposta è uguale sia per il Framework 2.0 che per l'1.1.
Per quanto riguarda Coach è chiaro che la classe FTP esiste solo nel Framework 2.0, quindi questa strada è impercorribile.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
ciroverde
Profilo
| Newbie
11
messaggi | Data Invio:
ven 22 set 2006 - 16:44
credo che ti convenga gestire una sessione FTP all'interno del web service.
1) invochi il web service passando dei parametri quali il file da trasferire, FTP server, User e PWD di accesso e directory su cui effettuare la put del file.
2) gestire una sessione FTP dentro il web server.
In questo modo il web server viene utilizzato come un servizio centralizzato che sposta file via FTP.
Che ne pensi ?
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
lun 25 set 2006 - 11:07
grazie per i consigli...
ma non mi è chiaro come gestire il trasferimento file tramite web server...
nel dettaglio come si gestisce?
ciao e grazie
ciroverde
Profilo
| Newbie
11
messaggi | Data Invio:
lun 25 set 2006 - 17:46
allora cerchiamo di ricapitolare:
1) invochi il web server passando i vari parametri ( per es. server FTP, nome del file , user + pwd ... etc. etc.)
2) all'interno del codice del web server inserisci innanzitutto
using System.Net;
using System.Net.socket;
e poi inizi una sessione col server FTP tramite socket
Socket ClienteFTP = null ;
IPEndPoint IPterminale = null;
try{
ClienteFTP =
new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPterminale = new IPEndPoint(Dns.Resolve(ServerFTP).AddressList[0],21);
ClienteFTP.Connect(IPterminale);
}
questa è la parte iniziale della sessione, poi dipende da quello che devi fare col protocollo FTP.
Ti consiglio di cercare RFC relativo al protocollo FTP.
Ciao
Ciro
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 26 set 2006 - 11:05
>grazie per i consigli...
>ma non mi è chiaro come gestire il trasferimento file tramite
>web server...
>nel dettaglio come si gestisce?
Mi sa che la soluzione di instanziare una sessione FTP dentro un Web Service è la prima cosa da evitare. Il WebService così come le applicazioni web sono per loro natura "disconesse" e quindi non è auspicabile l'uso all'interno di comandi quali l'FTP anche perchè non ci sarebbe un controllo della applicazione.
Al di là di questo, o ti crei un client FTP ed è una cosa giusta, oppure usi il Web Service. Come ti ho già indicato è abbastanza semplice. Nello sviluppo del Web Service crei un WebMethod che accetti un array di byte[]. Una volta creato lo compili. Ti crei un client WinForm, aggiungi il WebService appena creato, leggi con la classe BinaryReader un file su disco e richiami il metodo del WebService passandogli lo stream binario dei dati.
Dall'altra parte il WebSErvice riceve lo stream dei dati e lo riscrive su disco.
Hai fatto un trasferimento di file da un server ad un altro.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
ciroverde
Profilo
| Newbie
11
messaggi | Data Invio:
mar 26 set 2006 - 15:32
La risposta è da manuale per quel che riguarda l'uso dei web server.
Però presuppone che ci sia un dialogo tra 2 web server.
Il problema, da come l'ho inquadrato io, è costituito dall'interazione con un server FTP che non comunica come un web server.
In questo contesto, avere un web server che
1) apre una sessione FTP
2) trasferisce il file e
3) chiude la sessione
libera gli utenti dalla necessità di scambiare file tramite FTP in quanto la comunicazione avviene tra l'utente e il web server ( che mi fornisce il 'servizio' di dialogare col server FTP ).
Ciro
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !