Добавление видов бритвы в NET Core Api - PullRequest
0 голосов
/ 31 мая 2019

Я создаю приложение .NET Core Api + Angular, которое требует отправлять электронные письма своим пользователям. Функция работает нормально, используя HTML-шаблоны и некрасивый код для замены содержимого в этих файлах (есть как минимум 4 HTML-шаблона). Теперь я хочу сделать это лучше и использовать бритвенные виды в качестве моих «почтовых шаблонов», и я следую статье здесь

В основном код использует 3 проекта: страницы бритвы / стандартная библиотека libray / библиотека классов Razor, но в моем случае я хочу добавить только эти файлы "cshtml" внутри моего проекта API. Чтобы я создал папку Views и внутри нее все необходимые виды бритвы. После этого я опубликовал эти бритвенные представления, чтобы проверить, понимает ли проект такого рода проект, что он должен переместить папку и файлы в конечный пункт назначения, НО ничего не происходит.

Также я сделал несколько небольших изменений в своем классе StartUp, чтобы сообщить VS, что этот проект также поддерживает MVC

Метод ConfigureServices:

   services.AddMvc(config => {
            var policy = new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .Build();
            config.Filters.Add(new AuthorizeFilter(policy));
        });

Способ настройки:

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

После этих изменений ничего не происходит. Чего не хватает? Обновление 1: я нашел эту полезную ссылку о страницах бритвы и насколько я понимаю, файлы Razor компилируются как во время сборки, так и во время публикации, и нет способа проверить, правильно ли файлы бритвы были скопированы в выходную папку .

1 Ответ

0 голосов
/ 31 мая 2019

попробуйте этот класс запуска

public class Startup

{   public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services){
        services.AddMvc(config => {
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        config.Filters.Add(new AuthorizeFilter(policy));
       });
    }

    public void Configure(IApplicationBuilder app)
    {
        app.UseStaticFiles(); //this middleware also should be added to the pipeline if your template has images,css etc.
        app.UseMvcWithDefaultRoute();  
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...