Hi Konstantin

Are there any generics involved? When the issue happens once, does it keep happening everytime after that?

The stack trace is quite misleading here. The exception comes from WCF itself, and WCFFacility merely rethrows it (which erases original callstack, unless we force it to preserve it (which requires calling non-public API).


@K



On 05/05/2012 11:05 PM, Konstantin Alexandroff wrote:
We register our Wcf proxies as

container.Register(Component.For(t).AsWcfClient(WcfEndpoint.FromConfiguration("*"))
Endpoints defined in web.config.

Everything works great, but once in a while (a week +-) one of the proxies stops working until 
AppPool is restarted. Before using WcfFacility we used similar custom proxying using 
ChannelFactory building (new  ChannelFactory<T>("*")) without any problem I can 
recall.

So the question is, as usual, what could be the source of the problem? Perhaps 
it's a configuration issue (lifestyle required?).

We use Core/Windsor 3.0.0.0.

In logs we see something like this:
System.NotSupportedException: Method VoteForDiscussion is not supported on this 
proxy, this can happen if the method is not marked with 
OperationContractAttribute or if the interface type is not marked with 
ServiceContractAttribute.
    
atCastle.Facilities.WcfIntegration.Proxy.WcfRemotingInterceptor.<>c__DisplayClass1.<PerformInvocation>b__0(WcfInvocation
  wcfInvocation)  
inc:\BuildAgent\work\9834359f44c23fee\src\Castle.Facilities.WcfIntegration\Client\Proxy\WcfRemotingInterceptor.cs:line53
    atCastle.Facilities.WcfIntegration.WcfInvocation.Proceed()  
inc:\BuildAgent\work\9834359f44c23fee\src\Castle.Facilities.WcfIntegration\WcfInvocation.cs:line44
    atCastle.Facilities.WcfIntegration.RepairChannelPolicy.Apply(WcfInvocation  
wcfInvocation)  
inc:\BuildAgent\work\9834359f44c23fee\src\Castle.Facilities.WcfIntegration\Client\Policies\RepairChannelPolicy.cs:line31
    
atCastle.Facilities.WcfIntegration.Proxy.WcfRemotingInterceptor.PerformInvocation(IInvocation
  invocation,IWcfChannelHolder  channelHolder,Action`1  action)  
inc:\BuildAgent\work\9834359f44c23fee\src\Castle.Facilities.WcfIntegration\Client\Proxy\WcfRemotingInterceptor.cs:line72
    atCastle.DynamicProxy.AbstractInvocation.Proceed()  
inc:\BuildAgent\work\8689a06309d1ab0b\src\Castle.Core\DynamicProxy\AbstractInvocation.cs:line170
    atCastle.Proxies.IWcfChannelHolderProxy_1.VoteForDiscussion(Guid  
discussion,Guid  argument)
    atFoo.Bar.Web.Specific.Discussions.DiscussionManager.Vote(Guid  
discussionId,Guid  argumentId,HttpContextBase  context)  
inc:\BuildAgent\work\397ad3340da6dda6\Sources\Bar-Web-Specific\Discussions\DiscussionManager.cs:line42
    atFoo.Bar.Web.Controllers.DiscussionController.Vote(Guid  discussionId,Guid 
 argumentId)  
inc:\BuildAgent\work\397ad3340da6dda6\Sources\Bar-Web\Controllers\DiscussionController.cs:line53
    at lambda_method(Closure , ControllerBase , Object[] )
    atSystem.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext  
controllerContext,IDictionary`2  parameters)
    
atSystem.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext  
controllerContext,ActionDescriptor  actionDescriptor,IDictionary`2  parameters)
    
atSystem.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
    
atSystem.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 
 filter,ActionExecutingContext  preContext,Func`1  continuation)
    
atSystem.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
  controllerContext,IList`1  filters,ActionDescriptor  
actionDescriptor,IDictionary`2  parameters)
    
atFoo.Bar.Web.Specific.Windsor.WindsorActionInvoker.InvokeActionMethodWithFilters(ControllerContext
  controllerContext,IList`1  filters,ActionDescriptor  
actionDescriptor,IDictionary`2  parameters)  
inc:\BuildAgent\work\397ad3340da6dda6\Sources\Bar-Web-Specific\Windsor\WindsorActionInvoker.cs:line22
    atSystem.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext  
controllerContext,String  actionName)
    atSystem.Web.Mvc.Controller.ExecuteCore()
    atSystem.Web.Mvc.ControllerBase.Execute(RequestContext  requestContext)
    
atSystem.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
    
atSystem.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
    atSystem.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
    
atSystem.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    atSystem.Web.HttpApplication.ExecuteStep(IExecutionStep  step,Boolean&  
completedSynchronously)

--
You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/castle-project-users/-/LftLi19j86kJ. 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.

--
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.

Reply via email to