I have done some preliminary testing and this appears to have sorted things out.
Thanks, appreciated On Sep 7, 2:05 pm, Craig Neuwirt <[email protected]> wrote: > I just committed an update that properly uses CloseTimeout overrides. > Otherwise, the normal Close is used. This should let Daniel get by his > problem. > > -craig > > On Sep 6, 2010, at 6:42 PM, John Simons wrote: > > > > > Craig, > > > Did u have time to have a look at this yet? > > Any resolution? > > > Cheers > > John > > > From: Daniel Richardson <[email protected]> > > To: Castle Project Users <[email protected]> > > Cc: Craig Neuwirt <[email protected]> > > Sent: Wed, 1 September, 2010 3:41:38 PM > > Subject: Re: WcfIntegration - timeout exception? > > > It didn't like my zip attachment. Try here (also sent an email)... > >http://cid-2d0aa55ad987c518.office.live.com/browse.aspx/.Public/Code?... > > > On Aug 31, 9:29 pm, Craig Neuwirt <[email protected]> wrote: > > > Didn't get email yet. Can you send it again > > > > On Aug 31, 2010, at 8:15 AM, Daniel Richardson wrote: > > > > > 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...- > > > > >>>>>> - 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.-Hidequotedtext > > > >>>>> - > > > > >>>> - 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.-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. > > > -- > > 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.
