I have sent an email. Many thanks for looking into it. On Aug 31, 8:03 pm, Craig Neuwirt <[email protected]> wrote: > Can you send me sample to demonstrate? > > On Aug 30, 2010, at 11:12 PM, Daniel Richardson wrote: > > > > > Craig, > > > Yes, that's the code and the channel is aborted. This however must > > leave the session attached/active (or something) because after the > > client then makes 10th consecutive call the next call times out due to > > exceeding maxConcurrentSessions. > > The PerformInvocation method in WcfRemotingInterceptor then throws a > > TimeoutException as the service is no longer responding due to no more > > sessions being available. A client call cannot be made then until a > > session times out on the service freeing one up. > > I can send a simple solution to demonstrate the issue. > > > Thanks Daniel > > > On Aug 30, 8:03 pm, Craig Neuwirt <[email protected]> wrote: > >> Hey Daniel, > > >> Isn't the code in question something like > > >> try > >> { > >> if (timeout.HasValue) > >> { > >> > >> comm.Close(timeout.Value); > >> } > >> else > >> { > >> comm.Close(); > >> } > >> } > >> catch > >> { > >> comm.Abort(); > >> } > > >> If an exception occurs, the channel should be aborted. Is there something > >> else that needs to be > >> done to close it properly? > > >> thanks, > >> craig > > >> On Aug 30, 2010, at 1:15 AM, Daniel Richardson wrote: > > >>> True, it isn't bubbling up but this means the communication channel > >>> isn't being closed properly and aborted. > >>> This in itself wouldn't be too much of a problem but if you have a > >>> default WCF configuration then for a service the > >>> maxConcurrentSessions="10". If you then make the same service call > >>> repeatedly in succession then after the 10th call the WCF service then > >>> times out due to all the sessions being taken up, due to the channel > >>> not being successfully released. > >>> This then is a problem. The maxConcurrentSessions can be increased but > >>> this isn't correcting the issue. > > >>> On Aug 27, 7:37 pm, Craig Neuwirt <[email protected]> wrote: > >>>> Zero is chosen to avoid excessive waiting on disposal. It is in a > >>>> try/catch block so it shouldn't be bubbling up. > > >>>> On Aug 27, 2010, at 4:49 AM, Daniel Richardson wrote: > > >>>>> The WcfChannelHolder class though doesn't appear to use this value. > >>>>> Both the RefreshChannel and Dispose method are hardcoded to use > >>>>> TimeSpan.Zero when calling WcfUtils.ReleaseCommunicationObject?? > > >>>>> On Aug 27, 1:07 pm, John Simons <[email protected]> wrote: > >>>>>> Hi Daniel, > > >>>>>> When you add the wcffacility to the container you can specify the > >>>>>> timeout: > >>>>>> container.AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero) > > >>>>>> Cheers > >>>>>> John > > >>>>>> ________________________________ > >>>>>> From: Daniel Richardson <[email protected]> > >>>>>> To: Castle Project Users <[email protected]> > >>>>>> Sent: Fri, 27 August, 2010 2:28:53 PM > >>>>>> Subject: WcfIntegration - timeout exception? > > >>>>>> Hi, > > >>>>>> I am using the WcfIntegration client side to instantiate my services. > >>>>>> The lifestyle is transient (this is a requirement of my design) so I > >>>>>> understand that I need to manage the lifecycle of the components. I am > >>>>>> using the below code to instantiate and call my service (where the > >>>>>> ComponentContainer is a wrapper around IWindsorContainer). > > >>>>>> This however results in a call to the Dispose method on > >>>>>> WcfChannelHolder, which is throwing an exception due to the call to > >>>>>> release the communication object... > >>>>>> WcfUtils.ReleaseCommunicationObject(Channel, TimeSpan.Zero); > >>>>>> This results in a System.TimeoutException when attempting to close the > >>>>>> channel. > > >>>>>> Why is the timeout set to zero? Is anyone else encountering this > >>>>>> issue? Can this be made configurable somehow? > > >>>>>> var search = ComponentContainer.Resolve<ISearchService>(); > >>>>>> try > >>>>>> { > >>>>>> var result = search.PolicySearch(new PolicySearchRequest > >>>>>> { > >>>>>> RiskReference = "abc" > >>>>>> }); > >>>>>> System.Console.WriteLine("count: " + result.ResultCount); > >>>>>> } > >>>>>> finally > >>>>>> { > >>>>>> ComponentContainer.Release(search); > >>>>>> } > > >>>>>> Thanks > > >>>>>> -- > >>>>>> You received this message because you are subscribed to the Google > >>>>>> Groups > >>>>>> "Castle Project Users" group. > >>>>>> To post to this group, send email to > >>>>>> [email protected]. > >>>>>> To unsubscribe from this group, send email to > >>>>>> [email protected]. > >>>>>> For more options, visit this group > >>>>>> athttp://groups.google.com/group/castle-project-users?hl=en. > > >>>>> -- > >>>>> You received this message because you are subscribed to the Google > >>>>> Groups "Castle Project Users" group. > >>>>> To post to this group, send email to > >>>>> [email protected]. > >>>>> To unsubscribe from this group, send email to > >>>>> [email protected]. > >>>>> For more options, visit this group > >>>>> athttp://groups.google.com/group/castle-project-users?hl=en.-Hidequoted > >>>>> text - > > >>>> - Show quoted text - > > >>> -- > >>> You received this message because you are subscribed to the Google Groups > >>> "Castle Project Users" group. > >>> To post to this group, send email to > >>> [email protected]. > >>> To unsubscribe from this group, send email to > >>> [email protected]. > >>> For more options, visit this group > >>> athttp://groups.google.com/group/castle-project-users?hl=en.-Hide quoted > >>> text - > > >> - Show quoted text - > > > -- > > You received this message because you are subscribed to the Google Groups > > "Castle Project Users" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/castle-project-users?hl=en.- Hide quoted > > text - > > - Show quoted text -
-- You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en.
