Remoting: lentezza accesso oggetti MBR

martedì 11 gennaio 2005 - 12.34

fg_garda Profilo | Newbie

Ho creato un tipico sistema remoting formato da due applicazioni (server e client) e una libreria di interfacce condivise. Ho pubblicato direttamente un oggetto ServerSystem (tramite Marshal) che permette al client di ottenere altri oggetti, instanziati sul server in base al client collegato:

Public Interface IServerSystem
Function GetSession(sUser as String) As ISession
...
End Interface

Il sistema funziona correttamente, ma il primo accesso all’oggetto ISession da parte del client richiede 10-20 secondi, mentre i successivi sono immediati (ho provato sia in locale sia in rete, tramite TCP e formattazione binaria). Lo stesso problema con tutti gli altri oggetti trasmessi in questo modo.

L’unica soluzione che ho trovato è quella di pubblicare tramite RemotingServices.Marshal anche gli oggetti secondari e passare al client l’URI generato:

Public Interface IServerSystem
Function GetSession(sUser as String) As String
...
End Interface

Ovviamente, non è una bella soluzione. Qualche consiglio?

Grazie.

Brainkiller Profilo | Guru

Nonostante non sia un utilizzatore assiduo di .NET Remoting però ricordavo che questa problematica si era già presentata a qualcuno in passato. Ricordo anche che aveva risposto Ingo Rammer uno dei più bravi con il .NET Remoting dicendo che forse era causato da un DNS Server lento.

Infatti quasi ogni PC ha un DNS Resolver al suo interno una specie di cache. Probabilmente la prima volta che deve risolvere ci mette più tempo e la seconda che è già cachato ci mette molto meno tempo.

Per verificare se è il DNS ti consiglio di fare così.
Istanzia la prima volta un oggetto (dovrebbe essere lento). Istsanzia una seconda volta, dovrebbe essere veloce.
Apri un prompt dei comandi e digita:

ipconfig /flushdns

Questo ti ripulisce il DNS Resolver locale. Istanzia una terza volta. Se anche questa volta è lento come la prima il problema è sul DNS Server.

Facci sapè.
ciao
david

fg_garda Profilo | Newbie

Ti ringrazio per la risposta: effettivamente il problema riguarda la configurazione della rete. Grazie, ciao.
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5