출처: http://vallista.tistory.com/entry/Syntax-Highlighter-티스토리에서-코드-이쁘게-넣기 [VallistA]>

posted by ddanss 2025. 11. 21. 23:52
728x90

appsetting.json

에서

  "ConnectionStrings": {
    "MSSQL": "Data Source=~~~~~~~~~~~~~"
  }

이런식으로 추가해줌

 

그리고 LoginMapper부분에

이걸 이런식으로 수정

        public LoginMapper(string conn)
        {
            connectionString = conn;
        }
        private string connectionString;

원래 이자리에

connectionString = ~~~~~~~~~~~~~~~~~~~~~~~~샬라샬라있었음

 

반응형
posted by ddanss 2025. 11. 21. 16:49
728x90

이건 오히려 강의같은거보다 이 홈페이지가 더 설명이 좋다

 

https://learn.microsoft.com/ko-kr/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-10.0

 

ASP.NET Core에서 종속성 주입

ASP.NET Core에서 종속성 주입을 구현하는 방법 및 사용 방법에 알아봅니다.

learn.microsoft.com

 

public interface IMyDependency
{
    void WriteMessage(string message);
}

 

메서드 정의하고

 

public class MyDependency : IMyDependency
{
    public void WriteMessage(string message)
    {
        Console.WriteLine($"MyDependency.WriteMessage Message: {message}");
    }
}

 

구체적인거 구현

 

builder.Services.AddScoped<IMyDependency, MyDependency>();

Program.cs에 이거 추가하고

 

public class Index2Model : PageModel
{
    private readonly IMyDependency _myDependency;

    public Index2Model(IMyDependency myDependency)
    {
        _myDependency = myDependency;            
    }

    public void OnGet()
    {
        _myDependency.WriteMessage("Index2Model.OnGet");
    }
}

 

이런식으로 생성자 만들어버리고

 

 

 

 

현재 프로젝트에서는

 

CreateUser 메서드 정의

namespace BusinessLayer.Services
{
    public interface ILoginService
    {
        public Task CreateUser(CreateUserDTO createUserDTO);
    }
}

 

여기서 구체적인 형식 구현

 

namespace BusinessLayer.Services
{

    public class LoginService : ILoginService
    {
        ILoginMapper loginMapper;
        public LoginService(ILoginMapper mapper)
        {
            loginMapper = mapper;
        }

        public async Task CreateUser(CreateUserDTO createUserDTO)
        {

            try 
            {

                //DTO와 Entity 변경
                var configuration = new MapperConfiguration(cfg => cfg.CreateMap<CreateUserDTO, USER>(), NullLoggerFactory.Instance);

                // Perform mapping
                Mapper mapper = new Mapper(configuration);
                USER user = mapper.Map<CreateUserDTO, USER>(createUserDTO);

                await loginMapper.Create(user);
            }
            catch (Exception ex){ }

        }
    }
}

 

Program.cs에서 

builder.Services.AddTransient<ILoginService, LoginService>(); //알아서 객체 생성하고 소멸시켜줌

 

이거 추가.

 

여기선 AddTransient를 사용하고

저기 페이지에서는 AddScoped를 사용했는데

이 두개의 차이는 뭘까?

 

 

 

https://ddochea.tistory.com/230

 

[ASP.NET Core] AddSingleton(), AddScoped(), AddTransient() 차이점 - 2

해당 포스트 작성하기 약 2년 전, ASP.NET Core 에서 3가지 생명주기에 대해 정리한 적이 있었다. [ASP.NET Core] AddSingleton(), AddScoped(), AddTransient() 차이점 - 1 :: 또치의 삽질 보관함 (tistory.com) [ASP.NET Core] A

ddochea.tistory.com

 

 

이분이 아주 자세히 설명해주시고 있다

 

AddSingleton의 경우는 클라이언트(보통 웹브라우저)의 접속상태에 관계없이, 웹 서비스 시작 때 생성되서, 웹 서비스가 종료될때까지 유지된다. Singleton이란 이름에 걸맞게, 클라이언트가 아무리 많이 붙어도 오직 1개의 서비스만 존재하게 된다.

AddScoped는 클라이언트의 Request 시작부터, Response 종료까지 유지된다. 각 클라이언트마다 존재하므로, 연결되는 클라이언트 수 만큼 존재하게 될 수 있다.

AddTransient는 의존성 주입한 객체마다 독립적인데, 그냥 간단한 교육용 예제 서비스에선 AddScoped와 구분이 잘 안갈 수 있을 것이다. 

 

일단은 이렇게만 알고있고 다시 공부해보자

반응형
posted by ddanss 2025. 11. 21. 02:03
728x90
private string connectionString = "Data Source=127.0.0.1,포트번호;Initial Catalog=YourtestDB;User ID=sa;Password=password;Connect Timeout=30";

이 코드가 있었고 뒷부분을 아예 지우라길래 지웠는데

계속 오류가 떴다

{"서버에 연결했지만 로그인하는 동안 오류가 발생했습니다. (provider: SSL 공급자, error: 0 - 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다.)"}

 

그래서 찾아보니

오히려

;TrustServerCertificate=true

이렇게 다시 붙이라고 했더니 오류가 해결되었다

환경에  따라 다른가보다..

반응형

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

ASP.NET 연결문자열.appsetting쪽으로 넘기기  (0) 2025.11.21
ASP.NET 의존성 주입  (0) 2025.11.21
ASP.NET Model  (0) 2025.11.19
MSSQL sa 비밀번호 잃어버렸을때  (0) 2025.11.19
ASP.NET Form  (0) 2025.11.19
posted by ddanss 2025. 11. 19. 22:57
728x90
CREATE TABLE TBL_USER(
    id INT IDENTITY(1, 1) PRIMARY KEY,
    userid VARCHAR(100),
    username VARCHAR(100),
	point INT
);

이런식으로 테이블에 쿼리문을 날리고

 

프로젝트 파일에서 Model 폴더를 만든다음

namespace HelloASP2.Models
{
    public class USER
    {
        public int Id { get; set; }
        public string? Userid { get; set; }
        public string? Username { get; set; }
        public int Point { get; set; }
    }
}

이런식으로 적어서 매칭해줌

반응형
posted by ddanss 2025. 11. 19. 22:51
728x90

1) cmd창을 관리자 권한으로 킨다

2) osql -E

3) EXEC sp_password NULL, '원하는 패스워드', 'sa'

4) GO

 

이렇게 하면 완료

반응형
posted by ddanss 2025. 11. 19. 22:28
728x90

Controller부분

        [HttpPost]
        public IActionResult Index(string userid, int age)
        {
            //if, try{} catch{}
            //return Redirect("/home/test");
            return View();
        }

 

Views에 Index부분

<form action="home/test" method="post">
    <input type="text" name="userid"/>
    <input type="text" name="age" />
    <input type="submit" name="제출" />

</form>

 

Controller부분에서

return Redirect("/home/test");

를 통해서 제출 누르면 /home/test로 가게 할 수도 있고

 

Views부분에서

action="home/test" 

를 통해서 제출 누르면 /home/test로 가게할수 도 있다

반응형

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

ASP.NET Model  (0) 2025.11.19
MSSQL sa 비밀번호 잃어버렸을때  (0) 2025.11.19
ASP.NET MasterPage  (0) 2025.11.19
ASP.NET 컨트롤러에서 View 로 데이터 보내기  (0) 2025.11.19
ASP.NET Razor View  (0) 2025.11.19
posted by ddanss 2025. 11. 19. 16:45
728x90

Razor 레이아웃으로 만듬

 

Shared파일에 _Layout.cshtml

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>
<body>
    <div>
        @RenderBody()
    </div>
</body>
</html>

 

 

Views파일에 Razor뷰로 _ViewStart파일을 만들어서

@*Views파일의 모든 파일들은 해당 파일을 master페이지로 설정*@

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

이런식으로 코드를 넣으면

Views파일에 있는 모든 파일들은 해당 파일을 master페이지로 설정하게됨

반응형

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

MSSQL sa 비밀번호 잃어버렸을때  (0) 2025.11.19
ASP.NET Form  (0) 2025.11.19
ASP.NET 컨트롤러에서 View 로 데이터 보내기  (0) 2025.11.19
ASP.NET Razor View  (0) 2025.11.19
ASP.NET Controller-view  (0) 2025.11.19
posted by ddanss 2025. 11. 19. 15:55
728x90

 컨트롤러에서 View 로 데이터 보내기

(1)

컨트롤러부분

ViewData["MyMsg"] = "Hello response";

View부분

 @ViewData["MyMsg"]

 

 

 

(2)

컨트롤러부분

ViewBag.MyTest = new List<string> { "abc", "def"};

View부분

<ul>
	@foreach (var data in ViewBag.MyTest)
	{
		<li>@data</li>
	}
</ul>

 

한가지 더 있는데 뭔가 코드가 깔끔하지 않다..

1번이나 2번이 최고같음!

반응형

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

ASP.NET Form  (0) 2025.11.19
ASP.NET MasterPage  (0) 2025.11.19
ASP.NET Razor View  (0) 2025.11.19
ASP.NET Controller-view  (0) 2025.11.19
ASP.NET 인자, Request.Query  (0) 2025.11.19
posted by ddanss 2025. 11. 19. 15:17
728x90
@{
    string title = "제목입니다";
    string titleB = "제목입니다B";
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    @DateTime.Now.ToShortTimeString() 
    @{
        <br />@title
    }
    <h2>@titleB</h2>

        @{
            string hour0 = "아침";
            string hour17 = "저녁";
            int hour = DateTime.Now.Hour; //오전 10시인 경우
        }
        @* if문 공부 *@
        @if (hour < 12)
        {
            <div>@hour0</div>
            //해당 내용만 표시
        }
        else if (hour <= 17)
        {
            <div>오후</div>
        }
        else
        {
            <div>@hour17</div>
        }

</body>
</html>
반응형

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

ASP.NET MasterPage  (0) 2025.11.19
ASP.NET 컨트롤러에서 View 로 데이터 보내기  (0) 2025.11.19
ASP.NET Controller-view  (0) 2025.11.19
ASP.NET 인자, Request.Query  (0) 2025.11.19
ASP.NET기본  (0) 2025.11.19
posted by ddanss 2025. 11. 19. 15:08
728x90
using Microsoft.AspNetCore.Mvc;

namespace HelloASP2.Controllers
{
    public class HomeController : Controller
    {
        public string Index()
        {
            string? userid = Request.Query["userid"];
            string? age = Request.Query["age"];


            return "응답입니다" + userid + " " + age;
        }

        public IActionResult Test() //home/test
        {
            //return View("~/Views/index.cshtml"); //절대경로
            return View(); //Views/Home/Test.cshtml (Views폴더안에 Home폴더안에 Test.cshtml을 넣어주면 이렇게도 가능
        }
    }
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    abc12345
</body>
</html>
반응형

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

ASP.NET MasterPage  (0) 2025.11.19
ASP.NET 컨트롤러에서 View 로 데이터 보내기  (0) 2025.11.19
ASP.NET Razor View  (0) 2025.11.19
ASP.NET 인자, Request.Query  (0) 2025.11.19
ASP.NET기본  (0) 2025.11.19