private PipelineContinuation ResolveResource(ICommunicationContext context)
        {
            if (context.PipelineData.SelectedResource == null)
            {
                var uriToMath = context.GetRequestUriRelativeToRoot();
                var uriMatch = this.uriRepository.Match(uriToMath);
                
                if (uriMatch != null)
                {
                    context.PipelineData.SelectedResource = uriMatch;
                    context.PipelineData.ResourceKey = uriMatch.ResourceKey;
                    context.Request.UriName = uriMatch.UriName;
                }
                else
                {
                    context.OperationResult = this.CreateNotFound(context);
                    
                    return PipelineContinuation.RenderNow;
                }
            }
            else
            {
                this.Log.WriteInfo(
                    "Not resolving any resource as a resource with key {0} has already been selected.".With(
                        context.PipelineData.SelectedResource.ResourceKey));
            }

            return PipelineContinuation.Continue;
        }
示例#2
0
 PipelineContinuation ResolveResource(ICommunicationContext context)
 {
     if (context.PipelineData.SelectedResource == null)
     {
         var uriToMath = context.GetRequestUriRelativeToRoot();
         var uriMatch  = _uriRepository.Match(uriToMath);
         if (uriMatch != null)
         {
             context.PipelineData.SelectedResource = uriMatch;
             context.PipelineData.ResourceKey      = uriMatch.ResourceKey;
             context.Request.UriName = uriMatch.UriName;
         }
         else
         {
             context.OperationResult = CreateNotFound(context);
             return(PipelineContinuation.RenderNow);
         }
     }
     else
     {
         Log.WriteInfo(
             "Not resolving any resource as a resource with key {0} has already been selected.".With(
                 context.PipelineData.SelectedResource.ResourceKey));
     }
     return(PipelineContinuation.Continue);
 }