private void GenerateHtml(IRazorEngineService service) { var SampleTemplate = File.ReadAllText("SampleTemplate.cshtml"); var SubSample = File.ReadAllText("SubSample.cshtml"); //service.AddTemplate("part", SubSample); // If you leave the second and third parameters out the current model will be used. // If you leave the third we assume the template can be used for multiple types and use "dynamic". // If the second parameter is null (which is default) the third parameter is ignored. // To workaround in the case you want to specify type "dynamic" without specifying a model use Include("p", new object(), null) //service.AddTemplate("template", SampleTemplate); service.Compile(SampleTemplate, "template", typeof(MyModel)); service.Compile(SubSample, "part", typeof(SubModel)); var result = service.Run("template", typeof(MyModel), new MyModel { SubModelTemplateName = "part", ModelProperty = "model1<@><b>rob</b></@>.com <", RawProperty = "model1<@><b>rob</b></@>.com <", SubModel = new SubModel { SubModelProperty = "submodel2" } }); Console.WriteLine("Result is: {0}", result); DisplayHtml(result); }
public RazorTransform(IContext context) : base(context, context.Field.Type) { _input = MultipleInput(); var key = GetHashCode(context.Transform.Template, _input); if (!Cache.TryGetValue(key, out _service)) { var config = new TemplateServiceConfiguration { DisableTempFileLocking = true, EncodedStringFactory = Context.Transform.ContentType == "html" ? (IEncodedStringFactory) new HtmlEncodedStringFactory() : new RawStringFactory(), Language = Language.CSharp, CachingProvider = new DefaultCachingProvider(t => { }) }; _service = RazorEngineService.Create(config); } try { _service.Compile(Context.Transform.Template, Context.Key, typeof(ExpandoObject)); Cache[key] = _service; } catch (Exception ex) { Context.Warn(Context.Transform.Template.Replace("{", "{{").Replace("}", "}}")); Context.Warn(ex.Message); throw; } }
public virtual void OnAppStartup() { TemplateServiceConfiguration config = new TemplateServiceConfiguration(); AppEnvironment activeAppEnvironment = AppEnvironmentProvider.GetActiveAppEnvironment(); config.Debug = activeAppEnvironment.DebugMode; config.Language = Language.CSharp; config.EncodedStringFactory = new NullCompatibleEncodedStringFactory(); IRazorEngineService service = RazorEngineService.Create(config); Engine.Razor = service; string defaultPageTemplateFilePath = PathProvider.StaticFileMapPath(activeAppEnvironment.GetConfig("DefaultPageTemplatePath", "defaultPageTemplate.cshtml")); if (File.Exists(defaultPageTemplateFilePath)) { string defaultPageTemplateContents = File.ReadAllText(defaultPageTemplateFilePath); Engine.Razor.Compile(name: "defaultPageTemplate", modelType: typeof(IDependencyResolver), templateSource: new LoadedTemplateSource(defaultPageTemplateContents, defaultPageTemplateFilePath)); } string ssoPageTemplateFilePath = PathProvider.StaticFileMapPath(activeAppEnvironment.GetConfig("SsoPageTemplatePath", "ssoPageTemplate.cshtml")); if (File.Exists(ssoPageTemplateFilePath)) { string ssoPageTemplateContents = File.ReadAllText(ssoPageTemplateFilePath); Engine.Razor.Compile(name: "ssoPageTemplate", modelType: typeof(IDependencyResolver), templateSource: new LoadedTemplateSource(ssoPageTemplateContents, ssoPageTemplateFilePath)); } }
private IRazorEngineService GetEngine() { if (_service == null) { _cache = new DefaultCachingProvider(); var config = new TemplateServiceConfiguration { BaseTemplateType = typeof(MixberryTemplate <>), Namespaces = new SortedSet <string>(new[] { "System", "System.Linq", "DotOrg.Mixberry.Web.Core.Templating", "DotOrg.Mixberry.Models", "DotOrg.Core.Helpers" }), AllowMissingPropertiesOnDynamic = true, CachingProvider = _cache, ReferenceResolver = new UseCurrentAssembliesReferenceResolver() //ReferenceResolver = new RazorEngineReferenceResolver() }; _service = RazorEngineService.Create(config); } return(_service); }
public void Generate(List <object> providers) { if (Directory.Exists(_root)) { Directory.Delete(_root, true); } Directory.CreateDirectory(_root); var config = new TemplateServiceConfiguration() { DisableTempFileLocking = false, CachingProvider = new DefaultCachingProvider(t => { }), }; using (IRazorEngineService razor = RazorEngineService.Create(config)) { CacheViews(razor); GenerateHome(razor, providers); GenerateTeams(razor); GenerateRecords <ICareerRecordProvider>(razor, "career-record-list", providers, x => x.GetData()); GenerateRecords <ISeasonRecordProvider>(razor, "season-record-list", providers, x => x.GetData()); GenerateRecords <IGameRecordProvider>(razor, "game-record-list", providers, x => x.GetData()); GenerateRecords <IIndividualGameRecordProvider>(razor, "individual-game-record-list", providers, x => x.GetData()); GenerateRecords <IStreakRecordProvider>(razor, "streak-record-list", providers, x => x.GetData()); } }
/// <summary> /// Компиляция и кеширование шаблонов для последующего использования /// </summary> /// <param name="service"></param> private static void PrepareTemplates(IRazorEngineService service) { service.Compile("Emails/Invite", typeof(InviteEmailModel)); service.Compile("Emails/Registered", typeof(RegisteredEmailModel)); service.Compile("Emails/ChangePassword", typeof(ChangePasswordEmailModel)); service.Compile("Emails/RestorePassword", typeof(RestorePasswordEmailModel)); }
/// <summary> /// Finishes constructor work. /// </summary> private void Initialize(IEnumerable <string> templateFolderRoots, EncodingMode encodingMode) { if (templateFolderRoots == null) { throw new ArgumentNullException(nameof(templateFolderRoots)); } this.TemplateFolderRoots = templateFolderRoots; var configuration = new TemplateServiceConfiguration() { #if DEBUG Debug = true, #endif TemplateManager = new ResolvePathTemplateManager(templateFolderRoots), }; switch (encodingMode) { case EncodingMode.RawText: configuration.EncodedStringFactory = new RawStringFactory(); break; default: configuration.EncodedStringFactory = new HtmlEncodedStringFactory(); break; } this.razorEngineService = RazorEngineService.Create(configuration); }
/// <summary> /// Create instance of EmailService with specified providers /// </summary> /// <param name="mailProvider"></param> /// <param name="templateProvider"></param> /// <param name="emailTemplateConfiguration"></param> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="EmailSettingsException"></exception> public EmailService(IMailProvider mailProvider, IMessageTemplateProvider templateProvider, IEmailTemplateConfiguration emailTemplateConfiguration) { _log = LogManager.GetLogger(GetType()); if (mailProvider == null) { throw new ArgumentNullException(nameof(mailProvider)); } if (emailTemplateConfiguration == null) { throw new ArgumentNullException(nameof(emailTemplateConfiguration)); } _emailSettings = new Settings().EmailSettings; if (_emailSettings == null) { throw new EmailSettingsException(); } _mailProvider = mailProvider; _templateProvider = templateProvider; _emailTemplateConfiguration = emailTemplateConfiguration; _engineService = RazorEngineService.Create((ITemplateServiceConfiguration)_emailTemplateConfiguration); }
/// <summary> /// 初始化 /// </summary> public static void Init() { SetManager(); //添加文件修改监控,以便在cshtml文件修改时重新编译该文件 watcher.Path = Cache._Path.Web; watcher.IncludeSubdirectories = true; watcher.Filter = "*.*html"; watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName; watcher.Created += new FileSystemEventHandler(OnChanged); watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.Deleted += new FileSystemEventHandler(OnChanged); watcher.EnableRaisingEvents = true; var config = new TemplateServiceConfiguration() { Namespaces = new HashSet <string>() { "Microsoft.CSharp", "MM.Engine" }, // 引入命名空间 Language = Language.CSharp, EncodedStringFactory = new HtmlEncodedStringFactory(), DisableTempFileLocking = true, TemplateManager = mg, BaseTemplateType = typeof(MmTemplateBase <>), CachingProvider = cache }; cache.InvalidateAll(); razor = RazorEngineService.Create(config); }
public DebugController(IUserRepository UserRep, UserService UserRegServ, IRazorEngineService TemplateServ, AccessRolesService AccessRolesServ) { this.UserRep = UserRep; this.UserRegServ = UserRegServ; this.TemplateServ = TemplateServ; this.AccessRolesServ = AccessRolesServ; }
public override IEnumerable <IRow> Operate(IEnumerable <IRow> rows) { var fileBasedTemplate = Context.Process.Templates.FirstOrDefault(t => t.Name == Context.Operation.Template); if (fileBasedTemplate != null) { Context.Operation.Template = fileBasedTemplate.Content; } var input = MultipleInput(); var matches = Context.Entity.GetFieldMatches(Context.Operation.Template); _input = input.Union(matches).ToArray(); if (!Run) { yield break; } var key = GetHashCode(Context.Operation.Template, _input); if (!Cache.TryGetValue(key, out _service)) { var config = new TemplateServiceConfiguration { DisableTempFileLocking = true, EncodedStringFactory = Context.Field.Raw ? (IEncodedStringFactory) new HtmlEncodedStringFactory() : new RawStringFactory(), Language = Language.CSharp, CachingProvider = new DefaultCachingProvider(t => { }) }; _service = RazorEngineService.Create(config); Cache.TryAdd(key, _service); } var first = true; foreach (var row in rows) { if (first) { try { var output = _service.RunCompile((string)Context.Operation.Template, (string)Context.Key, typeof(ExpandoObject), row.ToFriendlyExpandoObject(_input), null); row[Context.Field] = _convert(output); first = false; } catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ex) { Context.Error(ex.Message.Replace("{", "{{").Replace("}", "}}")); yield break; } catch (TemplateCompilationException ex) { Context.Error(ex.Message.Replace("{", "{{").Replace("}", "}}")); yield break; } yield return(row); } else { var output = _service.Run(Context.Key, typeof(ExpandoObject), row.ToFriendlyExpandoObject(_input)); row[Context.Field] = _convert(output); yield return(row); } } }
private void GenerateHome(IRazorEngineService razor, List <object> providers) { using (var writer = new StreamWriter(_root + "index.htm")) { object model = providers.Select(p => p.GetType()).OrderBy(t => t.Name).ToList(); razor.RunCompile("home", writer, null, model); } }
public void Dispose() { if (_Engine != null) { _Engine.Dispose(); _Engine = null; } }
public MainController(IDocumentsRepository documentsRepository, IDocumentSessionsRepository documentSessionsRepository, IRazorEngineService razorEngineService) { this.documentsRepository = documentsRepository; this.documentSessionsRepository = documentSessionsRepository; this.razorEngineService = razorEngineService; }
public AnubisDBMSSecurityEmailService(string templateDirectory) { _serviceConfiguration.BaseTemplateType = typeof(HtmlTemplateBase <>); _service = RazorEngineService.Create(_serviceConfiguration); var creacionUsuarioTemplateFile = Path.Combine(templateDirectory, "CreacionUsuario.html"); var creacionUsuarioTemplate = new LoadedTemplateSource("creacionUsuario", creacionUsuarioTemplateFile); //_service.AddTemplate("key", ); }
static CodeBuilder() { //初始化Razor var config = new TemplateServiceConfiguration(); config.BaseTemplateType = typeof(InfinityServerTemplate <>); _razor = RazorEngineService.Create(config); }
public RazorEngineRenderer() { ITemplateServiceConfiguration config = new TemplateServiceConfiguration { Debug = false, }; _razorEngineService = RazorEngineService.Create(config); }
public CSJSHandler() { config = new TemplateServiceConfiguration { ReferenceResolver = new CSJSReferenceResolver(), BaseTemplateType = typeof(CSJSSupportTemplateBase <>) }; service = RazorEngineService.Create(config); }
public ProcessTemplateBase() { razorEngine = RazorEngineService.Create( new TemplateServiceConfiguration { //DisableTempFileLocking = true, //CachingProvider = new DefaultCachingProvider(x => { }) }); }
public TemplateManager(string path) { _Path = path; var configuration = new TemplateServiceConfiguration(); configuration.TemplateManager = _TemplateManager; configuration.CachingProvider = _CachingProvider; _Engine = RazorEngineService.Create(configuration); }
static ThresholdCalculationEmailSubsystem() { var configuration = new TemplateServiceConfiguration { Debug = Debugger.IsAttached, DisableTempFileLocking = !Debugger.IsAttached }; _razorEngineService = RazorEngineService.Create(configuration); }
/// <summary> /// Adds and compiles a new template using the specified <paramref name="templateSource"/> and returns a <see cref="TemplateRunner{TModel}"/>. /// </summary> /// <typeparam name="TModel">The model type</typeparam> /// <param name="service"></param> /// <param name="templateSource"></param> /// <param name="name"></param> /// <returns></returns> public static ITemplateRunner <TModel> CompileRunner <TModel>(this IRazorEngineService service, string templateSource, string name) { var key = service.GetKey(name); service.AddTemplate(key, templateSource); service.Compile(key, typeof(TModel)); return(new TemplateRunner <TModel>(service, key)); }
/// <summary> /// Конструктор /// </summary> public UserInviteService( IInviteCodeRepository InviteRep, IUserRepository UserRep, IRazorEngineService TemplateServ) { this.InviteRep = InviteRep; this.UserRep = UserRep; this.TemplateServ = TemplateServ; }
/// <summary> /// Initializes a new instance of the <see cref="RazorGenerator" /> class. /// </summary> /// <param name="templateManager">The template manager.</param> public RazorGenerator(ITemplateManager templateManager) { service = RazorEngineService.Create(new TemplateServiceConfiguration() { Language = RazorEngine.Language.CSharp, EncodedStringFactory = new RawStringFactory(), TemplateManager = templateManager, }); }
public ShopOrderService(IRazorEngineService razorService, IShopClientService clientService, IMailService mailService, ISettingsService settingsService, IShopService shopService, IShopPickupPointService pickupPointService, IShopPackService shopPackService) { _razorService = razorService; _clientService = clientService; _mailService = mailService; _settingsService = settingsService; _shopService = shopService; _pickupPointService = pickupPointService; _shopPackService = shopPackService; }
/// <summary> /// 视图模板 /// </summary> static Razor() { var config = new TemplateServiceConfiguration { Debug = true, CachingProvider = new DefaultCachingProvider(t => { }) }; razor = RazorEngineService.Create(config); }
/// <summary> /// Static constructor. /// </summary> static DesignedEmailHandler() { // Configure RazorEngine. var razorConfig = new TemplateServiceConfiguration() { Debug = Debugger.IsAttached }; RazorService = RazorEngineService.Create(razorConfig); }
public TemplatingService(Assembly assembly, string templatesNamespace) { var config = new TemplateServiceConfiguration(); config.TemplateManager = new EmbeddedResourceTemplateService(assembly, templatesNamespace); #if DEBUG config.Debug = true; #endif this._razorEngineService = RazorEngineService.Create(config); }
public RazorTemplateEngine(PipelineContext context, Configuration.Template template, IReader templateReader) { _context = context; _template = template; _templateReader = templateReader; var config = new FluentTemplateServiceConfiguration( c => c.WithEncoding(_template.ContentType == "html" ? Encoding.Html : Encoding.Raw) .WithCodeLanguage(Language.CSharp) ); _service = RazorEngineService.Create(config); }
public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager, IAuthenticationManager authManager, IRazorEngineService razorEngine) { this.authManager = authManager; this.razorEngine = razorEngine; this.userManager = userManager; this.signInManager = signInManager; }
/// <summary> /// Gets an instance of the Razor Engine Service /// </summary> /// <returns>RazorEngine Service</returns> public static IRazorEngineService getInstance() { if (service == null) { TemplateServiceConfiguration config = new TemplateServiceConfiguration(); config.Language = RazorEngine.Language.CSharp; service = RazorEngineService.Create(config); } return service; }
public RazorBusinessService() { var config = new TemplateServiceConfiguration { BaseTemplateType = typeof(MvcTemplateBase <>), CachingProvider = new DefaultCachingProvider() }; _service = RazorEngineService.Create(config); Engine.Razor = _service; }
static void Main(string[] args) { string template = "Hello @Model.Name, welcome to RazorEngine!"; var result = Engine.Razor.RunCompile(template, "templateKey", null, new { Name = "World" }); Console.WriteLine(result); string templateFilePath = "HelloWorld.cshtml"; var templateFile = File.ReadAllText(templateFilePath); string templateFileResult = Engine.Razor.RunCompile(templateFile, Guid.NewGuid().ToString(), null, new { Name = "World" }); Console.WriteLine(templateFileResult); string copyRightTemplatePath = "CopyRightTemplate.cshtml"; var copyRightTemplate = File.ReadAllText(copyRightTemplatePath); string copyRightResult = Engine.Razor.RunCompile(copyRightTemplate, Guid.NewGuid().ToString(), typeof(CopyRightUserInfo), new CopyRightUserInfo { CreateTime = DateTime.Now, EmailAddress = "*****@*****.**", UserName = "******" }); Console.WriteLine(copyRightResult); ITemplateServiceConfiguration configuration = new TemplateServiceConfiguration() { Language = Language.CSharp, EncodedStringFactory = new RawStringFactory(), Debug = true }; configuration.Namespaces.Add("Helpers"); IRazorEngineService service = RazorEngineService.Create(configuration); string template2 = @"Hello @Model.Name, @TextHelper.Decorate(Model.Name)"; string result2 = service.RunCompile(template2, "templateKey", null, new { Name = "World" }); Console.WriteLine(result2); Engine.Razor = service; string template3 = "Hello @Model.Name, welcome to RazorEngine!"; string templateFile3 = "C:/mytemplate.cshtml"; var result3 = Engine.Razor.RunCompile(new LoadedTemplateSource(template3, templateFile3), "templateKey3", null, new { Name = "World" }); Console.WriteLine(result3); Console.ReadKey(); }
public string Parse(string rootView, object model) { var config = new TemplateServiceConfiguration(); config.DisableTempFileLocking = true; config.CachingProvider = new DefaultCachingProvider(s => { }); using (engine = RazorEngineService.Create(config)) { LoadTemplates(); var result = engine.Run(rootView, null, model); return result; } }
public RazorResultController() { // Find templates in a web application _webPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", "templates"); var config = new TemplateServiceConfiguration { //Use this template manager when loading from template files. In attini we store in DB so need to load from strings //TemplateManager = new ResolvePathTemplateManager(new[] { _webPath }) //Use this template manager when loading from template strings. In attini we store in DB so need to load from strings TemplateManager = new DelegateTemplateManager() }; _service = RazorEngineService.Create(config); }
internal IsolatedRazorEngineService(IConfigCreator configCreator, IAppDomainFactory appDomainFactory) { _appDomain = CreateAppDomain(appDomainFactory ?? new DefaultAppDomainFactory()); var config = configCreator ?? new DefaultConfigCreator(); ObjectHandle handle = Activator.CreateInstanceFrom( _appDomain, typeof(SanboxHelper).Assembly.ManifestModule.FullyQualifiedName, typeof(SanboxHelper).FullName ); using (var helper = (SanboxHelper)handle.Unwrap()) { _proxy = helper.CreateEngine(config); } }
public RazorViewService(TemplateServiceConfiguration config) { config.Debug = true; _service = RazorEngineService.Create(config); }
private RazorService() { TemplateServiceConfiguration config = new TemplateServiceConfiguration(); config.DisableTempFileLocking = true; // loads the files in-memory (gives the templates full-trust permissions) config.CachingProvider = new DefaultCachingProvider(t => { }); //disables the warnings config.EncodedStringFactory = new RazorEngine.Text.RawStringFactory(); // Raw string encoding. // Use the config _service = RazorEngineService.Create(config); // new API }
public DynamicWrapperService(IRazorEngineService origin, bool mustSerialize, bool allowMissingPropertiesOnDynamic) { _origin = origin; _mustSerialize = mustSerialize; _allowMissingPropertiesOnDynamic = allowMissingPropertiesOnDynamic; }
public void Initialize() { string templateSource; var stream = typeof(Program).Assembly.GetManifestResourceStream("DescentGlovePie.Generator.Views." + TemplateName); if (stream == null) throw new ApplicationException("Missing assembly resource for Razor view " + TemplateName); using (stream) { templateSource = new StreamReader(stream).ReadToEnd(); } // This template uses iSynaptic.Commons, so let's make sure the runtime loads it templateSource = templateSource.ToMaybe().Value; var config = new TemplateServiceConfiguration { EncodedStringFactory = new RawStringFactory() }; _razor = RazorEngineService.Create(config); _razor.Compile(templateSource, TemplateName, typeof(MapInfo)); }