[Mono-dev] WCF and parallel client-execution

Chakotey STME chakoteystme at gmail.com
Mon Nov 22 03:28:27 EST 2010


So I have to test it with using a mono 2.8 installation?

chakoteystme

2010/11/22 Atsushi Eno <atsushieno at veritas-vos-liberabit.com>:
> 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