Avatar billede travelnow Nybegynder
11. marts 2004 - 16:42 Der er 2 kommentarer og
1 løsning

Flere tråde med com objekter

Nu har jeg i flere dage prøvet på at få et com object til at køre i tråde via asp.net (vb.net)

com objectet er lavet i VB 6 og bruges til søgning på nettet. Det virker fint, hvis jeg ikke bruger objektet, dvs. hvis jeg har en rutine der tager 10 sekunder at udføre, ta'r det stadig ca 10 sekunder med 5 tråde. Men når jeg prøver med com objektet, tager 1 søgning 10 sek., men 5 søgninger tager 50 sek.

Jeg har så prøvet at oprette en ny test com, som laver nogle hæftige database udtræk, men resultat er det samme 1 tråd 8 sek. 5 tråde 42 sek.

Jeg er ret sikker på at det ikke er pga. fejl i koden, da jeg i mine test har prøvet at lave en while løkke der kører i ring i 10 sekunder, og her virker det fint 1 tråd ta'r 10 sek. og 5 ta'r også ca. 10 sek, men det kan være en opsætning ell. lign. der ikke står rigtig.

Det kan ikke være fordi at objektet ikke kan køre i flere instanser, for det gør det jo allerede nu på vores web-server. Den kører jo 1 instans pr. bruger / søgning og med alle de kunder vi har, ved jeg at der forekommer mange samtidige søgninger.

Så er der en her der har løst et lign. problem, eller ved hvor jeg kan finde oplysninger / eksempler om ovenstående.
Avatar billede travelnow Nybegynder
14. marts 2004 - 00:58 #1
hmmmmmm, ingen svar her, jeg opretter spørgsmålet under asp.net, håber der er nogen der kan svare der.
Avatar billede mrpalermo Nybegynder
21. marts 2004 - 22:30 #2
Multithreading and ASP.NET Application State:

http://odetocode.com/Articles/83.aspx
Avatar billede travelnow Nybegynder
22. marts 2004 - 00:18 #3
Tak for svaret, men det har desværre ikke noget med mit problem at gøre, da jeg ikke bruger globale variabler.

Det jeg gør er at jeg opretter f.eks 2 objekter af en klasse og alt hvad der bliver udført af kode, sker i objektet.

Jeg kan lige prøve at vise det i en simplificeret udgave, som jeg har brugt i mine utallige test, for at være sikker på at jeg ikke tilgår en eller anden global resource.

Dim T_Obj1 As New SearchClass("test 1")
Dim Thread1 As New Thread(AddressOf T_Obj1.StartThread)
Thread1.Start()

Dim T_Obj2 As New SearchClass("test 2")
Dim Thread2 As New Thread(AddressOf T_Obj2.StartThread)
Thread2.Start()

Thread1.Join()
Thread2.Join()

Public Class SearchClass
  Private SearchFor as string

Sub New(ByRef str)
  SearchFor = str
End Sub
   
Public Sub StartThread()
  Dim ComObj As New Search.Session
  ComObj.Search(SearchFor)
End Sub
...................
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester