728x90
.NET Framework4 에서 웹서비스를 구현해야 하는 일이 생겼다. 대략 난감한 일이 벌어졌는데...
아래 사이트에서 해답을 찾았음. .NET Framework4.5 이상 부터는 큰 문제가 없지만 .NET Framework4에서는 그리고 Visual Studio 2015에서 해결을 해야 하니 막막했는데 큰 도움이 되어 나도 실습한 내용을 다시 복습하는 차원에서 정리합니다.
https://david.gardiner.net.au/2015/08/aspnet-web-api-for-net-framework-4-in.html
.NET Framework 4.0에서 작동하는 최신 버전의 Web API는 4.0.30506.0입니다 (5.x 릴리스에는 모두 .NET 4.5 이상 필요).
- Visual Studio 2015 열기
- 새 프로젝트 만들기 (프레임 워크 드롭 다운 목록에서 .NET Framework 4를 선택해야 함)
- 패키지 관리자 콘솔 열기
- 시작하다 Install-Package -Id Microsoft.AspNet.WebApi -Version 4.0.30506 -DependencyVersion HighestMinor
- Update-Package Newtonsoft.Json
- (선택 과목) Install-Package -Id Microsoft.AspNet.WebApi.Tracing -Version 4.0.30506
- App_Start폴더 추가
- 이 폴더 안에 새 클래스 추가 WebApiConfig
- WebApiConfig 클래스에 다음 콘텐츠를 추가합니다.
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
id = RouteParameter.Optional
}
);
// Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
// To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
// For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
//config.EnableQuerySupport();
// To disable tracing in your application, please comment out or remove the following line of code
// For more information, refer to: http://www.asp.net/web-api
config.EnableSystemDiagnosticsTracing();
}
- 프로젝트의 최상위 수준에서 Global.asax 파일을 추가 합니다.
- Global.asax.cs파일을 열고 다음 방법을 추가하십시오.
protected void Application_Start()
{
WebApiConfig.Register(GlobalConfiguration.Configuration);
}
- 컨트롤러 폴더 추가
- Controllers 폴더 안에 새 클래스 (예 : ValuesController)를 추가합니다.
- ValuesController 클래스를 다음과 같이 업데이트합니다.
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
이제 실습한 내용의 화면 정리 입니다.
1. 프로젝트 생성
2. NuGet 패키지 설치
그런데 여러 프로젝트가 같이 있는경우 특정 프로젝트에 설치를 해야 되는 경우가 발생하는데... 이건 아래 사이트를 참고 함
https://docs.microsoft.com/ko-kr/nuget/consume-packages/install-use-packages-powershell
Global.asax 생성 화면
프로젝트 솔루션 탐색기 화면 캡쳐
프로그램 실행 후 웹서비스 실행 결과 화면 캡쳐
728x90
'개발일지' 카테고리의 다른 글
[web.Config ] DB접속 연결자 등록 하여 사용하기 (0) | 2021.05.22 |
---|---|
Creating Help Pages for ASP.NET Web API 테스트 할 때 웹 게시를 하면 'XmlDocument.xml' 경로의 일부를 찾을 수 없습니다. 오류 발생 (0) | 2021.05.21 |
티라유텍 MES 솔루션 교육 (0) | 2021.05.18 |
C# 에서 Quartz.NET 테스트 확인 (2) | 2021.05.16 |
ASP.NET Rest API 서비스 BasicAuth 설정하고 테스트 까지 (0) | 2021.05.15 |