반응형

개요

.Net Core + Vue.js + Typescript로 개발하면서
프론트랑 백엔드를 같은 언어로 짤수 있으면 얼마나 편할까라는 생각을 많이하게 되었는데 거기에 대한 멋진 대답이 Blazor입니다.

웹 어셈블리를 이용해서 프론트엔드를 C#으로 작성할수 있습니다.
현재 .net Core 3.0 Preview에 포함되어 있으며 공식문서 및 개발도구도 지원하고 있습니다.

본 글에서는 공식문서를 따라서 Blazor를 설치하고, Azure에 배포까지 해보겠습니다.

※ 본 문서는 .Net Core v3.0.0-preview6기준으로 작성되었습니다.

준비

  1. .Net Core 3.0 Preview Sdk설치
    위 링크에서 .NET Core Installer: x64를 다운로드 및 설치합니다.

  2. Blazor템플릿을 설치합니다.

dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview6.19307.2

  1. VisualStudio 2019 Preview(이하 VS)를 설치합니다.
    Community버전을 다운로드 및 설치합니다.
  2. Blazor extension를 설치합니다.

Blazor프로젝트 작성

  1. 설치가 완료 되었으면 VS를 실행합니다.

  2. 새 프로젝트 만들기를 클릭합니다.

  3. Asp.NET Core 웹 응용 프로그램을 선택한후 다음을 클릭합니다.

  4. 프로젝트이름 및 위치를 지정해준후 만들기를 클릭합니다.

  5. Blazor 서버 앱을 선택하고 만들기를 클릭합니다.

  6. F5(디버그)를 눌러서 동작을 확인할수 있습니다.

Azure에 배포

  1. 솔루션 탐색기에서 프로젝트를 우클릭후 게시를 선택합니다.

  2. 게시대상을 App Service 새로만들기를 선택합니다.

  3. 오른쪽아래 버튼에서 프로필 만들기를 선택합니다.

  4. 호스팅 계획에서 위치및 크기를 선택합니다.
    본 문서에서는 테스트가 목적이므로 무료를 선택합니다.

  5. 만들기를 클릭합니다.

  6. 설정에서 배포모드를 자체 포함을 선택합니다.

  7. 사이트 확장 옵션을 설치를 선택합니다

  8. 종속성 추가에서 Azure SignalR Service를 선택합니다.

  9. 새 Azure SignalR Service인스턴스 만들기를 선택후 만들기를 클릭합니다.

  10. 게시버튼을 클릭후 Azure에 게시가 완료되면 해당 페이지가 자동으로 열립니다.

마무리

본 문서에서 배포한 샘플은 간단한 기능만 있어서 가볍고 빠르게 움직이지만 큰 프로젝트의 작성에는 아직 적합하지 않은것으로 보입니다.
하지만 마이크로 소프트에서 계속 빠르게 업데이트를 하고 있으므로 걱정은 하지 않아도 될듯합니다.
개인적으로는 Blazor가 웹 생태계에 큰 파문을 일으키기를 기대 하고 있습니다. ㅎㅎ

 

출처: https://velog.io/@bangley/2019-07-23-0107-%EC%9E%91%EC%84%B1%EB%90%A8-lsjyel5rxf

 

반응형

'ASP.NET > Blazor' 카테고리의 다른 글

Blazor와 C#으로 풀스택 웹 개발하기  (0) 2020.04.27
반응형

PostgreSQL 데이터베이스에서 ASP.NET Core MVC Identity를 사용하기위한 가이드

1. 기본 ASP.NET Core 웹 응용 프로그램 템플릿을 시작하십시오.

Visual Studio 2017을 사용하여 ASP.NET MVC Core 웹 응용 프로그램 프로젝트를 만듭니다. "개별 사용자 계정"을 사용하도록 인증을 변경하십시오. 다음으로이 기본 애플리케이션을 편집하여 PostgreSQL 데이터베이스를 사용합니다.

2. 필수 구성 요소 설치

“References”를 마우스 오른쪽 버튼으로 클릭하고“Manage NuGet Packages”를 선택하십시오. 다음으로“Npgsql.EntityFrameworkCore.PostgreSQL”및“Npgsql.EntityFrameworkCore.PostgreSQL.Design”을 검색하여 설치하십시오.

3. 공급자 변경

Startup.cs 파일을 엽니 다 . ConfigureServices () 아래 에 다음 코드 블록이 있습니다.

// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<User>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

SQL Server 부분에 주목하십시오. 애플리케이션에 PostgreSQL을 사용하도록 지시합니다.

// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<User, IdentityRole<long>>()
                .AddEntityFrameworkStores<ApplicationDbContext,long>()
                .AddDefaultTokenProviders();

4. 연결 문자열 변경

다음으로 appsettings.json 파일을 열면 이 파일에 기본 SQL Server 연결 문자열이 있습니다.

"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-MyPostgresApp-1a3c6f7e-a81e-4b86-8575-8ccebff9e7b6;Trusted_Connection=True;MultipleActiveResultSets=true"
},

이 SQL Server 연결 문자열을 변경해야합니다. PostgreSQL 연결 문자열을 사용하십시오.

"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;"
},

5. 데이터베이스 마이그레이션 실행

애플리케이션을 처음 실행하면 테이블이 정의되지 않았다는 오류 페이지가 표시됩니다. "마이그레이션 추가"단추를 추가하면 프레임 워크가 데이터베이스에 필요한 테이블을 작성합니다. PostgreSQL에서 ASP.NET Core를 실행하면됩니다.

 

원본 : https://medium.com/@RobertKhou/asp-net-core-mvc-identity-using-postgresql-database-bc52255f67c4

반응형
반응형

0. 사전에 준비해야 할것

0-1. 사용하고자하는 이메일에서 smtp가 가능한지 확인

0-2. 만약 가능하다면 smtp의 주소와 포트 번호를 확인한다.

 

1. NuGet 에서 MimeKit 을 다운로드 받습니다.

2. MailSender.cs 를 원하는 폴더에 구현합니다.

using MimeKit;
using System;
using System.IO;
using System.Text; 

namespace Project.Common
{
    public class MailSender
    {
    	// toMail: 보내고자하는 이메일주소
        // title: 보내고자하는 이메일의 제목
        // mailContent : 보내고자하는 이메일의 내용(HTML 태그형식의 string 값)
        public void Send(string toMail, string title, string mailContent ) {
            if (toMail.IndexOf("@") > -1)
            {
                string id = (toMail.Split('@')[0]).ToString();
                using (var client = new MailKit.Net.Smtp.SmtpClient())
                {
                	// 사용하고자하는 email의 smtps 주소, 포트를 입력합니다.
                    client.Connect("smtps.SMTPS_ADDRESS.com", SMTPS_PORT, true);
                    // 당신의 아이디와 비밀번호를 입력합니다.
                    client.Authenticate("YOUR_ID", "YOUR_PASSWORD");

                    var message = new MimeMessage();
					//받는사람이 보는
                    // 보내는 사람의 대표이름과 보내는 사람 이메일을 설정합니다.
                    message.From.Add(new MailboxAddress("EMAIL_TITLE", "EMAIL_FROM"));
                    message.To.Add(new MailboxAddress(id, toMail));

                    message.Subject = title;

                    var builder = new BodyBuilder();

                    builder.HtmlBody = mailContent;                    

                    message.Body = builder.ToMessageBody();
                    client.Send(message);
                    client.Disconnect(true);

                }
            }
        }
    }
}

어디서든지 Send를 통해 보내면됩니다.

반응형
반응형

상황에따라 현재페이지를 리로딩하거나 특정 페이지로 리다이렉트를 해줘야하는 경우가 있다. (ex: 최초 접속시 세션값 설정 등) 

그럴 경우 해당페이지를 자연스레 리로딩을 하거나 특정페이지로 리다이렉트를 해줄때, 이 코드를 사용하면된다.

 

리로딩시 : 

Response.Redirect(Request.RawUrl);

리다이렉트시 : 

Response.Redirect(/Your/path/to/go);

 

반응형

+ Recent posts