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
App. WinForms / WPF .NET
Remoting Dataset LENTO
mercoledì 09 novembre 2005 - 08.58
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
spyto
Profilo
| Newbie
49
messaggi | Data Invio:
mer 9 nov 2005 - 08:58
Ciao a tutti,
ho un problema, ho tirato su un dataset in Host che vorrei passare ad un client, per fare questa operazione ho utilizzato il metodo Remoting.
Il problema è il trasferimento del Dataset in locale che avviene in quasi due minuti, quando invecie a tirlo su dall'HDD impiego 3 secondi.
Come posso risolvere questo problema??
Grazie.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 9 nov 2005 - 12:28
>Ciao a tutti,
>ho un problema, ho tirato su un dataset in Host che vorrei passare
>ad un client, per fare questa operazione ho utilizzato il metodo
>Remoting.
>Il problema è il trasferimento del Dataset in locale che avviene
>in quasi due minuti, quando invecie a tirlo su dall'HDD impiego
> 3 secondi.
Credo che ci sia un problema di Link. L'host e il tuo client come sono connessi ? Quando è la quantità di byte necessari per il trasferimento ossia quanto occupa su disco il tuo dataset ?
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
spyto
Profilo
| Newbie
49
messaggi | Data Invio:
mer 9 nov 2005 - 12:57
Ho fatto delle prove il Dataset (da 100.000 record) è caricato sul server pesa 100MB ho una linea da 100mb/s, nel momento in cui lo voglio passare al mio Client ci mette 1 minuto e mi occupa 140MB mi sembra troppo lento. :(
Come posso fare a consumare meno memoria e aumentare la velocità ??
Vi ringrazio a tutti, e scusate le mie sono domande sciocche ma sono un newbie di VB.net
Codice:
*************Client
Dim url As String = "tcp://localhost:50000/calculator.rem"
'RemotingConfiguration.RegisterWellKnownClientType(GetType(Calculator), url)
Dim calc As Calculator = DirectCast(RemotingServices.Connect( _
GetType(Calculator), url), Calculator)
'Dim calc As New Calculator
Dim result As Object = calc.oDatasetIcon.Copy
MsgBox(result.tables(0).rows.count, MsgBoxStyle.Information)
*************Server
Sub Main()
Console.WriteLine("Starting Server...")
'Crea e registra un canale sever TCP in ascolto sulla porta 50000
Dim channel As New TcpChannel(50000)
ChannelServices.RegisterChannel(channel)
'Crea e pubblica l'oggetto calcolatore
Dim calc As New Calculator
calc.Add(1, 2)
RemotingServices.Marshal(calc, "calculator.rem")
'Attendere finchè l'operatore termina il programma
Dim line As String
line = InputBox("per chiudere")
While line Is Nothing
line = InputBox("per chiudere")
End While
'Deregistra il canale
ChannelServices.UnregisterChannel(channel)
End Sub
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 nov 2005 - 11:28
1_easymenu.zip
>Ho fatto delle prove il Dataset (da 100.000 record) è caricato
>sul server pesa 100MB ho una linea da 100mb/s, nel momento in
>cui lo voglio passare al mio Client ci mette 1 minuto e mi occupa
>140MB mi sembra troppo lento. :(
Ciao,
è abbastanza una pazzia creare un DataSet di 100 mila record. Un DataSet non è studiato per usare una mole così "enorme" di dati.
>Come posso fare a consumare meno memoria e aumentare la velocità
>??
Non ci sono molte soluzioni. Puoi provare ad elaborare 10 mila record alla volta invece di 100 mila. Oppure comprimere in qualche formato lo stream (per esempio con ZLib) prima di inviarlo tramite remoting. Oppure perfezionare la query ed inviare solo i dati che effettivamente ti servono. Non conosco lo scenario ma 100 mila mi sembrano tanti.
Oppure rifare completamente la soluzione approcciandola diversamente magari con file .TXT ed FTP, o DTS o altro.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
spyto
Profilo
| Newbie
49
messaggi | Data Invio:
mar 15 nov 2005 - 10:31
Grazie,
sono arrivato alla soluzione proponendo un approccio diverso, ovvero caricare quello che mi serve dal DataSet e far passare 20 record per volta, modello paginazione weeb. L'utente scorre con le frecce e trova le informazioni tramite i filtri.
Scusate le domande sciocche ma il mio capo sa programmare in C# e non capisce quasi niente del .net e qualche volta arrivano delle richieste strane.
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 !