[Mono-dev] WCF and parallel client-execution
Chakotey STME
chakoteystme at gmail.com
Mon Nov 22 01:41:30 EST 2010
hello,
thanks for your answer.
That's correct. I am using mono 2.6
If I change to mono 2.8 - will die clients run parallel?
chakoteystme
2010/11/22 Atsushi Eno <atsushieno at veritas-vos-liberabit.com>:
> Hello,
>
> Not sure what is exactly happening, but if you are using mono 2.6 then I
> limited service throttling the maximum concurrent sessions (and thus calls)
> to 1 for stable processing (and you cannot change it through
> ServiceThrottlingBehavior, as it is hard coded). So you won't get two
> clients run in parallel.
>
> Atsushi Eno
>
> (2010/11/21 8:10), Chakotey STME wrote:
>>
>> Hello,
>>
>> I have a problem with WCF.
>>
>> I have a service:
>>
>>
>> <ServiceBehavior(ConcurrencyMode:=ServiceModel.ConcurrencyMode.Multiple,
>> InstanceContextMode:=InstanceContextMode.Single)> _
>> Public Class HelloService
>> Implements IHelloService
>>
>>
>> Private Shared thisInstance As HelloService
>> Protected Sub New()
>> Console.WriteLine("Service erzeugt!")
>>
>>
>> End Sub
>>
>> 'singleton
>> Public Shared Function GetSingleton() As HelloService
>> If (thisInstance Is Nothing) Then
>> thisInstance = New HelloService
>> End If
>> Return thisInstance
>> End Function
>>
>> Public Function Greet(ByVal name As String) As IList(Of Objekt)
>> Implements IHelloService.Greet
>>
>> Console.WriteLine("greet aufgerufen! "& DateTime.Now.Ticks)
>>
>> Dim myObjekt As Objekt = New Objekt
>> Dim myObjekt2 As Objekt = New Objekt
>>
>>
>> Console.WriteLine("Service macht etwas lang dauerndes")
>>
>> Dim i As UInteger = 0
>> For i = 0 To UInteger.MaxValue / 2
>>
>> Next
>>
>> Console.WriteLine("dauert lange fertig")
>>
>> Dim list As List(Of Objekt) = New List(Of Objekt)
>> list.Add(myObjekt)
>> list.Add(myObjekt2)
>>
>>
>>
>> Return list
>>
>>
>> End Function
>>
>>
>>
>> Public Function Greet2(ByVal name As String) As
>> System.Collections.Generic.IList(Of Contracts.Objekt) Implements
>> Contracts.IHelloService.Greet2
>> Console.WriteLine("greet2 aufgerufen! "& DateTime.Now.Ticks)
>>
>> Dim myObjekt As Objekt = New Objekt
>> Dim myObjekt2 As Objekt = New Objekt
>>
>>
>> Console.WriteLine("Service2 macht etwas lang dauerndes")
>>
>> Dim i As UInteger = 0
>> For i = 0 To UInteger.MaxValue / 2
>>
>> Next
>>
>> Console.WriteLine("dauert lange fertig")
>>
>> Dim list As List(Of Objekt) = New List(Of Objekt)
>> list.Add(myObjekt)
>> list.Add(myObjekt2)
>>
>> Return list
>> End Function
>> End Class
>>
>> And I have a Client:
>>
>>
>> Imports System.ServiceModel
>> Imports Contracts
>>
>> Module Module1
>>
>> Sub Main()
>> Dim binding = New BasicHttpBinding()
>> Dim address = New EndpointAddress("http://192.168.100.110:8080")
>> Dim client = New HelloClient(binding, address)
>>
>> Dim myObjekt = client.Greet("name")
>> End Sub
>> End Module
>>
>> If I execute the client I get a answer from the host and all is perfect.
>>
>> But I want that more than one client can connect to the service and
>> use the methods from the singleton service.
>>
>> If I execute two clients - one client has to wait until the other
>> client has his return value.
>>
>> I don't know why, because I used the attribute
>>
>>
>> ConcurrencyMode:=ServiceModel.ConcurrencyMode.Multiple
>>
>> I use a basicHttpBinding and the service is hosted via a
>> windows-service with mono-service2.
>>
>> So can you help me?
>>
>> I use vb.net 3.5
>>
>> Thanks,
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>>
>
>
More information about the Mono-devel-list
mailing list