# ASP.NET

Startup.cs란 무엇인가?
출처: https://referbruv.com/blog/exploring-aspnet-core-fundamentals-the-startup-class/ > Startup class는 요청 파이프라인을 구성하고 구성하는 데 사용되는 단순 C# 클래스입니다 응용 프로그램 부트스트래핑 중에 ASP.NET Core 런타임에 의해 선택되고 실행되는 가장 첫 번째 구성 요소 >요청 파이프라인이란? 이러한 클래스가 등록된 컬렉션을 서비스 파이프라인이라고 하며 이러한 방식으로 등록된 클래스를 서비스라고 합니다.또한 수신 요청을 처리하는 동안 순서대로 실행될 일련의 구성 요소를 정의할 수 있습니다.이를 요청 파이프라인이라고 하며, 모든 요청은 응답으로 변환되기 전에 요청 파이프라인에 등록된 각 구성 요소를 통과합니다. 요청 파이프라인에 연결된 모든 구성 요소를 미들웨어 statup.cs 에 포함된것 IHostEnvironment 호스트된 애플리케이션 파일 시스템(일반적으로 wwwr

Adding JWT Authentication & Authorization
출처: https://youtu.be/mgeuh8k3I4g >그동안 TIM Corey 선생님의 강좌를 clone 하다가 다른분도 해봅니다. Nick Chapsas 의 인증 ,허가의 관한 강좌입니다. 제가 앞으로 권한 ,인증의 관련 업무를 할것 같아 공부중이기도 하고요 chater 1 >jwt 설명 출처: https://youtu.be/qDJYgGzmalQ >보통 사용자가 웹사이트의 접근할때 사용허가를 받아야 합니다. 과거 모노롤틱 개발에서 인증을 통과한 사용자는 식별값은 보통 서바가 세션에 저장하는것이 보통이었습니
23.05.22 Day78
ASP.NET > ## Project 시작 ASP.NET Core 웹앱(Model-View-Controller 생성) .NET 6.0 / HTTPS에 대한 구성(Check) / 최상위 문 사용 안함(Check) 프로젝트 실행 후 연결 비공개 시 thisisunsafe 입력 후 엔터 Nuget 패키지 설치 1)Microsoft.EntityFrameworkCore 2)Microsoft.EntityFrameworkCore.Tools 3)Pomelo.EntityFrameworkCore.Mysql ApplicationDbContext.cs/Program.cs 작성 도구 - NuGet 패키지 관리자 - 패키지 관리자 콘솔 - add-migration [마이그레이션명] 입력 후 실행 - Update-Database 실행 - DataBase 생성 BoardController.cs에서 Index()에 우클릭 - 뷰 추가 - Razor 뷰 추가 (I

ASP.NET Core Web API TIP
출처: https://youtu.be/s1bk-68aB1U >Asp.net core web API 는 몇가지 강력한 기능을 소개합니다. Asp.Net Core Web API 프로젝트를 생성합니다. Controller 사용을 체크하겠습니다. 이template 기본 동작을 하게 구성되있는데 필요없는 부분을 삭제하겠습니다.  > ## javascript (jquery) > ## javascript (jquery css)  > ## HTML (input) > ## HTMl(Login) > ## CSS  > ## HTML Basic(Anchor tag, font style)
230513 BASIC ASP.NET ERROR
NET::ERRCERTINVALID Click anywhere on the browser screen → Enter "thisisunsafe" on the keyboard An error occurred while running the selected code generator. 'Please install package microsoft.visualstudio.web.codegeneration.design and try again. Install Microsoft.VisualStudio.Web.CodeGeneration.Design nuget Run Visual Studio. Execute the [Tools] / [NuGet Package Manager] / [Package Manager Console] menu. Execute the script below. PM>Install-Package Microsoft.VisualStudio.We

[Computer Science] MVC 패턴
1. MVC 패턴이란? MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있으며, 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공한다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM(모델-뷰-뷰모델), MVP(모델-뷰-프리젠터), MVW(모델-뷰-왓에버) 가 있습니다. MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있다. > - Model : 데이터와 비즈니스 로직을 관리 > - View : 레이아웃과 화면을 처리 > - Controller : 명령을 모델과 뷰 부분으로 라우팅 2. 모델-뷰-컨트롤러 예시 간단한 쇼핑몰을 예시로 하는 자료  Microsoft Document - The HTTP status code in IIS 7.0 and later versions
.
참고 stack overflow - What is an HttpHandler in ASP.NET ASP.NET 의 HttpHandler : System.Web.IHttpHandler 인터페이스를 구현한 클래스들을 총칭 ASP.NET 이 제공하는 기본적인 HTTP handler 4가지 페이지 핸들러(.aspx) User Control 핸들러(.ascx) 웹 서비스 핸들러(.asmx) 추적 핸들러(trace.axd)
Application 전역 상수 사용하기
Web.config Code Behind 에서 사용하는 방법 1 Code Behind 에서 사용하는 방법 2 > 더 읽어보기 > [ASP.NET] Web.Config에 전역상수를 만들어 사용하자.

[Blazor] Blazor 개요
Blazor Blazor는 .NET을 사용하여 대화형 클라이언트 쪽 웹 UI를 빌드하기 위한 프레임워크이다. JavaScript 대신 C# 사용하여 풍부한 대화형 UI를 만든다. .NET에서 작성된 서버 쪽 및 클라이언트 쪽 앱 논리를 공유한다. 모바일을 포함한 광범위한 브라우저 지원을 위해 UI를 HTML 및 CSS로 렌더링한다. Blazor Assembly 호스트된 Blazor WebAssembly Client 앱은 SignalR을 사용하여 네트워크를 통해 백 엔드 Server앱과 상호 작용한다. .NET을 사용하여 대화형 클라이언트 쪽 웹 앱을 빌드하기 위한 SPA 프레임워크이다. SPA 프레임워크: 웹 브라우저에서 대부분의 사용자 인터페이스 논리를 수행하며 기본적으로 웹 API를 사용하여 웹 서버와 통신한다. 웹 사이트의 전체 페이지를 하나의 페이지에 담아 동적으로 화면을 바꿔가며 표현한다. 초기 로드 후 UI는 웹사

게시판 리스트 출력하기
NoteController(컨트롤러) > View (Note(폴더)/index/Add/Edit/cshtml) > Layout.cshtml Controller / NoteController.cs Note/Index.cshtml >@foreach (var note in Model) Model로 표현한다는 것은 controller에서 list로 넘겨주었기 떄문에 Model로 표현한다는 것이 포인트! Layout.cshtml Controller를 Note로 추가해준다!

로그인/로그오프 기능 만들기
Microsoft.AspNetCore.Session를 종속성에 누겟패키지를 설치합니다! Program.cs AccountController.cs Layout.cshtml 로그인 성공 시 Logout 버튼만 보이는 것이 확인이 됩니다!

로그인 입력 Form 만들기
Controller(Account Controller/ HomeController) > View/ Home(LoginSucess.cshtml), login.cshtml AccountController.cs Login.cshtml Home / LoginSuccess.cshtml ViewModel / LoginViewModel.cs 현재 문제는 User Model에서 UserName을 Required로 필수 입력으로 받고 있는데 현재 로그인은 아이디와 비밀번호만 입력받기 때문에 AccountController에서 false로 계속 받게된다. 이러한 것을 해결하기 위해서는 View를 위한 model을 생성해야 한다! -> ViewModel 폴더를 새로 만들고 클래스를 LoginViewModel을 만들고 거기에 새로운 Id와 PW를 get set 한다. 다음 Login View페이지로 넘어와 맨 위에 @model AspnetNote.MVC6.

회원 가입 기능 만들기
Controller > View > _Layout.cshtml 순으로 진행합니다! 먼저 Controller인 AccountController를 만들어 보겠습니다. AccountController 현재 Register는 두 개의 메서드가 보이는데 하나는 GET 방식이고 하나는 [HttpPost]라고 써져있는 POST 방식입니다. 회원 가입을 해야하기 때문에 form에서 입력한 것들을 DB로 전달받아야하기 때문에 POST 방식이 필요합니다. 매개변수로 User의 객체를 전달 받습니다. 그리고 입력한 값들이 모두 유효하면 using 키워드를 이용하여 db에 추가하고 db에 저장합니다. 그리고 추가가되면 HomeController에 있는 Index로 Redirect 되게 logic을 완성했습니다. Views / Register.cshtml에 form 양식을 만들어보겠습니다. Register.cshtml @model AspnetNo

EntityFramework Core로 데이터베이스 생성하기
EntityFramework Core 설치 Model 생성 User.cs Note.cs DbContext 생성 -> Table 생성할 수 있는 코드를 작성 AspnetNoteDbContext.cs DbContext -> 실제 테이블 생성 패키지 관리자 콘솔

ASP.NET 소개
Controller에서 View로 데이터 전달 Models 폴더에 클래스 파일인 User.cs 하나 만들고 prop + tab + tab을 이용해 getter/setter를 손 쉽게 만들 수 있다. Models / User.cs Controllers / HomeController.cs View로 넘겨주는 방법은 세 가지 방법이 있다. 방식에 따라 View에서 다르게 받는다! View / index.cshtml