Ejemplo n.º 1
0
        internal MvcRazorHost(ICodeTreeCache codeTreeCache, RazorPathNormalizer pathNormalizer)
            : base(new CSharpRazorCodeLanguage())
        {
            _pathNormalizer = pathNormalizer;
            _baseType       = BaseType;
            _codeTreeCache  = codeTreeCache;

            TagHelperDescriptorResolver = new TagHelperDescriptorResolver();
            DefaultBaseClass            = BaseType + "<" + DefaultModel + ">";
            DefaultNamespace            = "Asp";
            // Enable instrumentation by default to allow precompiled views to work with BrowserLink.
            EnableInstrumentation = true;
            GeneratedClassContext = new GeneratedClassContext(
                executeMethodName: "ExecuteAsync",
                writeMethodName: "Write",
                writeLiteralMethodName: "WriteLiteral",
                writeToMethodName: "WriteTo",
                writeLiteralToMethodName: "WriteLiteralTo",
                templateTypeName: "Microsoft.AspNet.Mvc.Razor.HelperResult",
                defineSectionMethodName: "DefineSection",
                generatedTagHelperContext: new GeneratedTagHelperContext
            {
                ExecutionContextTypeName      = typeof(TagHelperExecutionContext).FullName,
                ExecutionContextAddMethodName = nameof(TagHelperExecutionContext.Add),
                ExecutionContextAddTagHelperAttributeMethodName =
                    nameof(TagHelperExecutionContext.AddTagHelperAttribute),
                ExecutionContextAddHtmlAttributeMethodName = nameof(TagHelperExecutionContext.AddHtmlAttribute),
                ExecutionContextOutputPropertyName         = nameof(TagHelperExecutionContext.Output),

                RunnerTypeName           = typeof(TagHelperRunner).FullName,
                RunnerRunAsyncMethodName = nameof(TagHelperRunner.RunAsync),

                ScopeManagerTypeName        = typeof(TagHelperScopeManager).FullName,
                ScopeManagerBeginMethodName = nameof(TagHelperScopeManager.Begin),
                ScopeManagerEndMethodName   = nameof(TagHelperScopeManager.End),

                TagHelperContentTypeName = nameof(TagHelperContent),

                // Can't use nameof because RazorPage is not accessible here.
                CreateTagHelperMethodName            = "CreateTagHelper",
                StartTagHelperWritingScopeMethodName = "StartTagHelperWritingScope",
                EndTagHelperWritingScopeMethodName   = "EndTagHelperWritingScope",

                WriteTagHelperAsyncMethodName   = "WriteTagHelperAsync",
                WriteTagHelperToAsyncMethodName = "WriteTagHelperToAsync",

                // Can't use nameof because IHtmlHelper is (also) not accessible here.
                MarkAsHtmlEncodedMethodName = HtmlHelperPropertyName + ".Raw",
            })
            {
                ResolveUrlMethodName   = "Href",
                BeginContextMethodName = "BeginContext",
                EndContextMethodName   = "EndContext"
            };

            foreach (var ns in _defaultNamespaces)
            {
                NamespaceImports.Add(ns);
            }
        }
Ejemplo n.º 2
0
        internal MvcRazorHost(IChunkTreeCache chunkTreeCache, RazorPathNormalizer pathNormalizer)
            : base(new CSharpRazorCodeLanguage())
        {
            _pathNormalizer = pathNormalizer;
            _chunkTreeCache = chunkTreeCache;

            DefaultBaseClass = $"{BaseType}<{ChunkHelper.TModelToken}>";
            DefaultNamespace = "Asp";
            // Enable instrumentation by default to allow precompiled views to work with BrowserLink.
            EnableInstrumentation = true;
            GeneratedClassContext = new GeneratedClassContext(
                executeMethodName: "ExecuteAsync",
                writeMethodName: "Write",
                writeLiteralMethodName: "WriteLiteral",
                writeToMethodName: "WriteTo",
                writeLiteralToMethodName: "WriteLiteralTo",
                templateTypeName: "Microsoft.AspNetCore.Mvc.Razor.HelperResult",
                defineSectionMethodName: "DefineSection",
                generatedTagHelperContext: new GeneratedTagHelperContext
            {
                ExecutionContextTypeName      = typeof(TagHelperExecutionContext).FullName,
                ExecutionContextAddMethodName = nameof(TagHelperExecutionContext.Add),
                ExecutionContextAddTagHelperAttributeMethodName =
                    nameof(TagHelperExecutionContext.AddTagHelperAttribute),
                ExecutionContextAddHtmlAttributeMethodName          = nameof(TagHelperExecutionContext.AddHtmlAttribute),
                ExecutionContextAddMinimizedHtmlAttributeMethodName =
                    nameof(TagHelperExecutionContext.AddMinimizedHtmlAttribute),
                ExecutionContextOutputPropertyName = nameof(TagHelperExecutionContext.Output),

                RunnerTypeName           = typeof(TagHelperRunner).FullName,
                RunnerRunAsyncMethodName = nameof(TagHelperRunner.RunAsync),

                ScopeManagerTypeName        = typeof(TagHelperScopeManager).FullName,
                ScopeManagerBeginMethodName = nameof(TagHelperScopeManager.Begin),
                ScopeManagerEndMethodName   = nameof(TagHelperScopeManager.End),

                TagHelperContentTypeName = typeof(TagHelperContent).FullName,

                // Can't use nameof because RazorPage is not accessible here.
                CreateTagHelperMethodName = "CreateTagHelper",
                FormatInvalidIndexerAssignmentMethodName = "InvalidTagHelperIndexerAssignment",
                StartTagHelperWritingScopeMethodName     = "StartTagHelperWritingScope",
                EndTagHelperWritingScopeMethodName       = "EndTagHelperWritingScope",

                // Can't use nameof because IHtmlHelper is (also) not accessible here.
                MarkAsHtmlEncodedMethodName           = HtmlHelperPropertyName + ".Raw",
                BeginAddHtmlAttributeValuesMethodName = "BeginAddHtmlAttributeValues",
                EndAddHtmlAttributeValuesMethodName   = "EndAddHtmlAttributeValues",
                AddHtmlAttributeValueMethodName       = "AddHtmlAttributeValue",
                HtmlEncoderPropertyName = "HtmlEncoder",
                TagHelperContentGetContentMethodName            = nameof(TagHelperContent.GetContent),
                TagHelperOutputIsContentModifiedPropertyName    = nameof(TagHelperOutput.IsContentModified),
                TagHelperOutputContentPropertyName              = nameof(TagHelperOutput.Content),
                ExecutionContextSetOutputContentAsyncMethodName = nameof(TagHelperExecutionContext.SetOutputContentAsync),
            })
            {
                BeginContextMethodName = "BeginContext",
                EndContextMethodName   = "EndContext"
            };

            foreach (var ns in _defaultNamespaces)
            {
                NamespaceImports.Add(ns);
            }
        }