[Mono-dev] WCF and parallel client-execution

Atsushi Eno atsushieno at veritas-vos-liberabit.com
Mon Nov 22 03:01:10 EST 2010


I can't give a definite answer, but at least the throttling limitation 
will go away ;-)

Atsushi Eno

(2010/11/22 15:41), Chakotey STME wrote:
> 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