SlideShare a Scribd company logo
1 of 37
Download to read offline
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET 4.0 New Features
한상훈
WEB SERVICE TEAM
2011. Technology Seminar
Agenda
• ASP.NET 버전 업그레이드 현황
• ASP.NET 4.0
• C#.NET 4.0
• ASP.NET New Platform
– ASP.NET MVC
– ASP.NET Web Pages
• Summary
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET 버전 업그레이드 현황
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET 버전 업그레이드 현황
ASP.NET 4
ASP.NET 1.1
Server Controls, State Management,
Data Management 등
ASP.NET 2.0
MasterPage, Security, Theme, WebPart,
Provider Model 등
ASP.NET 3.0 WPF, WCF, WF, CardSpace 등
ASP.NET 3.5 Embedded ASP.NET AJAX, LINQ 등
ASP.NET 3.5 SP1
ASP.NET Dynamic Data
ASP.NET AJAX 기능 추가
ADO.NET 데이터 서비스
ASP.NET MVC 1.0 ~
MVC 패턴 적용, 단위 테스팅 지원,
URL Routing 등
ASP.NET Web Pages
ASP.NET AJAX
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET 4.0
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET 4.0
• ASP.NET Core Services 강화
• ASP.NET Web Forms 기능 추가
• ASP.NET AJAX 4 기능 강화
• ASP.NET MVC 기능 추가
• Dynamic Data 기능 강화
>Web.config 파일 리팩토링
>확장 가능한 Output Caching
>Web Application 자동 시작 기능
>영구적인 페이지 이동 기능
>허용 가능한 URL 범위 확장
>확장 가능한 Html, URL, HTTP 헤더 인코딩
>세션 상태 정보 압축
>단일 작업자 프로세스 상의 개별
애플리케이션에 대한 성능 모니터링 지원
>ASP.NET Multi-Targeting 향상
>명령적(Imperative) 문법
>스크립트 로더 (Script Loader)
>클라이언트 데이터 액세스 강화
>jQuery 통합
>동적인 메타 태그 설정
(MetaKeywords, MetaDescription)
>개별 컨트롤에 대한 ViewState의 활성화
>페이지 Routing 사용 지원
>ClientID 속성 설정
>ASP.NET Chart 컨트롤 확장
>서버 컨트롤의 확장 및 기능 보완
>Area 지원
>Data-Annotation 어트리뷰트 유효성 검사
>Helper 메서드 지원
>선언적인 DynamicDataManager 컨트롤
>Entity 템플릿
>URL과 E-mail을 위한 필드 템플릿 추가
>Data Model에서의 상속 지원
>다대다(Many-to-Many) 관계 지원
>향상된 필터 지원
WEB SERVICE TEAM
2011. Technology Seminar
• Web.Config 파일 리팩토링
– 주요 구성 요소들은 machine.config 파일로 이동.
– 응용 프로그램은 이 설정을 상속.
• 확장 가능한 Output Caching
– 하나 이상의 사용자 지정 출력 캐시 공급자 구성 가능.
– 모든 저장 메커니즘을 사용하여 HTML 콘텐츠 유지.
• 로컬, 원격 디스크, 클라우드 저장소, 분산 캐시 엔진 등.
– “Microsoft Velocity” 분산 캐시 서버 시스템과 통합
ASP.NET Core Services 강화
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
WEB SERVICE TEAM
2011. Technology Seminar
• Web Application 자동 시작 기능
– 기존 버전까지는 응용 프로그램 게시 후 첫 요청을 처리하
기 위해서 비용이 많이 드는 초기화 작업이 필요.
– 첫 번째 HTTP 요청을 처리하기 전에 미리 초기화 작업을
수행할 수 있음.
• IIS 7.5 기반에서 사용 가능
• 영구적인 페이지 이동 기능
– Redirect 는 임시적인 페이지 이동을 발생
– 영구적인 페이지 이동을 발생시키는 RedirectPermanent
ASP.NET Core Services 강화
Response.RedirectPermanent(newUrl);
Response.RedirectToRoutePermanent(routeName);
WEB SERVICE TEAM
2011. Technology Seminar
• 허용 가능한 URL 범위 확장
– URL 경로 길이에 제한을 없애고 확장할 수 있는 기능 추가
– 사용자 정의할 수 있는 URL 문자 검사 기능 추가
• 확장 가능한 HTML, URL 및 HTTP 인코딩
– 사용자 지정 인코딩 루틴 생성 및 적용 가능
• HTML encoding
• URL encoding
• HTML attribute encoding
• Encoding outbound HTTP headers
ASP.NET Core Services 강화
<httpRuntime maxRequestLength="260" maxQueryStringLength="2048“ />
<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,,?" />
WEB SERVICE TEAM
2011. Technology Seminar
• 확장 가능한 HTML, URL 및 HTTP 인코딩 (계속)
ASP.NET Core Services 강화
public class AntiXssEncoder : HttpEncoder
{
public AntiXssEncoder() { }
protected override void HtmlEncode(string value, System.IO.TextWriter output)
{
output.Write(AntiXss.HtmlEncode(value));
}
protected override void HtmlAttributeEncode(string value, System.IO.TextWriter output)
{
output.Write(AntiXss.HtmlAttributeEncode(value);
}
}
<httpRuntime encoderType="AntiXssEncoder" />
WEB SERVICE TEAM
2011. Technology Seminar
• 단일 작업자 프로세스 상의 개별 애플리케이션에 대
한 성능 모니터링 지원
– 여러 응용 프로그램에서 단일 공유 작업자 프로세스를 사
용하는 경우에 장애 발생 시 문제가 발생한 개별 응용 프
로그램 식별이 어려움
– aspnet.config 파일에 appDomainResourceMonitoring 속
성을 사용하여 개별 응용 프로그램의 리소스 소비량 확인
• Managed Processor Time
• Managed Memory Used
ASP.NET Core Services 강화
<configuration>
<runtime>
<appDomainResourceMonitoring enabled="true" />
</runtime>
</configuration>
WEB SERVICE TEAM
2011. Technology Seminar
• 동적인 메타 태그 설정
– <meta> APIs
• Page.MetaKeywords
• Page.MetaDescription
• 개별 컨트롤에 대한 ViewState의 활성화
– ViewState를 보다 깔끔하게 관리
• 페이지 대상 Disabled, 컨트롤 대상 Enabled
ASP.NET Web Forms 기능 강화
<%@ Page MetaDescription="products" MetaKeywords="Listing" %>
this.MetaDescription = "Listing For " + value;
this.MetaKeywords = "Seoul, KOREA, " + value;
<%@ Page ViewStateMode="Disabled” %>
<asp:TextBox ID="TextBox1" runat="server" ViewStateMode="Enabled"></asp:TextBox>
WEB SERVICE TEAM
2011. Technology Seminar
• 페이지 Routing 사용 지원
– 깔끔하고, 논리적인 URL 생성
• 사람이 기억하기 쉽고, SEO에 적합
– 인바운드, 아웃바운드 URL을 처리
• 요청과 리소스에 대한 매핑은 global.asax안에 Route에 정의
• Page.RouteData 와 <asp:RouteParameter />
• 마크업에서의 URL 출력 : RouteUrl, RouteValue
– <%$ .. %> 라는 새로운 표현식 사용
ASP.NET Web Forms 기능 강화
Old : http://three.hanbiton.com/Community/ThreeView.aspx?postid=1111
New : http://three.hanbiton.com/Community/Three/View/1111
WEB SERVICE TEAM
2011. Technology Seminar
• ClientID 속성 설정
– 클라이언트 코드에서 사용할 수 있도록 생성되는 ID
• ClientIDMode
– AutoID : ASP.NET 기본 형식
– Static : 고정적인 형식 (Fix ID)
– Predictable : ClientIDRowSuffix 속성에서 지정한 필드 값이 추
가되는 형식
– Inherit : 상위 컨트롤의 ClientIDMode를 따르는 형식
ASP.NET Web Forms 기능 강화
<%@ Page ClientIDMode=“Static” %>
<asp:ListView runat="server" ID="ListView1" ClientIDRowSuffix="ProductID">
<ItemTemplate>
<asp:Label runat="server" ClientIDMode="Predictable">Client ID</asp:Label>
</ItemTemplate>
</asp:ListView>
WEB SERVICE TEAM
2011. Technology Seminar
• ClientID 속성 설정 (계속)
– ClientIDMode 별 ID 형태
• UniqueID는 ClientIDMode 속성에 영향받지 않음
• ClientIDMode = “AutoID”
• ClientIDMode = “Static”
• ClientIDMode = “Predictable”
ASP.NET Web Forms 기능 강화
ListView1$ctrl0$ProductIDLabel
ListView1$ctrl1$ProductIDLabel
ListView1$ctrl2$ProductIDLabel
ListView1_ctrl0_ProductIDLabel
ListView1_ctrl1_ProductIDLabel
ListView1_ctrl2_ProductIDLabel
ProductIDLabel
ProductIDLabel
ProductIDLabel
ListView1_ProductIDLabel_1
ListView1_ProductIDLabel_2
ListView1_ProductIDLabel_3
WEB SERVICE TEAM
2011. Technology Seminar
• ASP.NET Chart 컨트롤 확장
– <asp:ChartControl .. /> 기능 강화 및 내장
ASP.NET Web Forms 기능 강화
WEB SERVICE TEAM
2011. Technology Seminar
• 서버 컨트롤의 확장 및 기능 보완
– 데이터 컨트롤에서 열 선택 유지되는 기능
• GridView와 ListView 컨트롤만 해당
• EnablePersistedSelection = “true”
– ListView 컨트롤 강화
• LayoutTemplate은 더 이상 필수가 아님
– CheckBoxList와 RadioButtonList 컨트롤 강화
• 새로운 RepeatLayout 지원 : OrderedList(ol), norderedList(ul)
– controlRenderingCompatibilityVersion=“3.5|4.0”
• <page controlRenderingCompatibilityVersion=“4.0” />
• disabled 속성은 Html Input 요소에만 적용
– RenderOuterTable 속성 지원
• FormView, Login, Wizard, ChangePassword 등
– Menu 컨트롤 보강
• Table로 렌더되지 않음. li로 렌더됨.
• 키보드 네비게이션 지원
ASP.NET Web Forms 기능 강화
WEB SERVICE TEAM
2011. Technology Seminar
C#.NET 4.0
WEB SERVICE TEAM
2011. Technology Seminar
• 이전 버전까지의 C#.NET
– C#.NET 1.0
• C#.NET의 탄생
– C#.NET 2.0
• C# 개발에 큰 변화를 일으킨 Generic, Partial Type
• Nullable Type, Iterator, Anonymous Method, Static Class,
Friend Assemblies
– C#.NET 3.0
• 가장 큰 변화는 LINQ의 도입과 var 키워드 지원
• Partial Method
• Delegate -> Anonymous Method -> Lambda Expression
• Static Member -> Static Class -> Extention Method
C#.NET 4.0
WEB SERVICE TEAM
2011. Technology Seminar
C#.NET 4.0 새로운 기능
WEB SERVICE TEAM
2011. Technology Seminar
• 동적 유형 지원
– Dynamic : 실행시간을 지연하여 런타임에서 타입을 유추
C#.NET 4.0 새로운 기능
Dynamic Static
Weak Typing Strong Typing
Run-Time Binding Compile-Time Binding
Late Binding Early Binding
Python, Ruby.. C, C++, C#, Java..
dynamic dynamicValue = 1;
int i = dynamicValue;
// 동적 조작에 대한 예
dynamic dynamicValue = MakeDynamicObject();
dynamicValue.M(1); // Method
dynamicValue.f = dynamicValue.P; // Property Getter/Setter
dynamicValue["one"] = dynamicValue["two"]; // Indexer
int i = dynamicValue + 2; // Operator
string s = dynamicValue(3, 4); // Delegate
var c = new C(dynamicValue); // Constructor
WEB SERVICE TEAM
2011. Technology Seminar
• 공변성과 반공변성 : 가변성
– Covariance : 지정된 Type대신 그 Type에서 파생된 자식
Type을 사용할 수 있게 해주는 것
– Contravariance : 지정된 Type 대신 그 Type의 상위 부모
Type을 사용할 수 있게 해주는 것
– 이전 버전까지는 Generic에 대해서 Invariant 였으나, 4.0부
터는 Covariance 및 Contravariance 지원
C#.NET 4.0 새로운 기능
class Human { }
class Man : Human { }
class Dog : Man { }
// 위와 같은 클래스 관계 구조에서 Man Type을 필요로 하는 경우..
// Man Type 대신 Dog Type을 사용할 수 있게 해주는 것 : Covariance
// Man Type 대신 Human Type을 사용할 수 있게 해주는 것 : Contravariance
delegate void Action<in T>(T a);
delegate T Func<out T>();
// Contravariance를 하기 위해서는 in 키워드 사용
// Covariance를 하기 위해서는 out 키워드 사용
WEB SERVICE TEAM
2011. Technology Seminar
• 명명된 인수와 선택적 인수
– 많은 파라미터를 정의해야 하는 경우 불필요한 노력이 발
생하는 문제를 해결
– 일반적인 메서드 정의와 호출 방법
– 명명된 인수와 선택적 인수를 사용
C#.NET 4.0 새로운 기능
// 메서드 정의
public void TestMethod(int number, string name, bool isCheck) { }
// 메서드 호출
TestMethod(1, "itist", true);
// 메서드 정의
public void M(int number, string name = "itist", bool isCheck = true) { }
// 메서드 호출
TestMethod(1, “Goodguy", false); //OK
TestMethod(1); //OK
TestMethod(1, name: “Goodguy", isCheck:false); //OK
TestMethod(1, name: “Goodguy"); //OK
TestMethod(1, isCheck: false); //OK
WEB SERVICE TEAM
2011. Technology Seminar
• COM 특성 상호운용 개선사항
– .NET과 COM의 상호운용 구조
– 개선된 사항
• Automatic Object -> Dynamic Mapping
• Optional and Named Parameters 지원
• PIA embedding (“NO-PIA”)
C#.NET 4.0 새로운 기능
WEB SERVICE TEAM
2011. Technology Seminar
• COM 특성 상호운용 개선사항 (계속)
– Automatic Object -> Dynamic Mapping
• COM에서 Variant 타입을 사용하는 경우 PIA에서는 Object로
표현되던 불편함을 해소
• Dynamic을 사용해서 Variant 타입 표현 가능
– Optional and Named Parameters 지원
• 메서드 호출 시 사용하지 않거나 불필요한 매개변수에 대한
ref missing 처리를 하지 않아도 됨
C#.NET 4.0 새로운 기능
// 기존
Excel.Workbook workBook = excel.Workbooks.Open("filename.xlsx", missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing);
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.ActiveSheet;
// 개선
Excel.Workbook workBook = excel.Workbooks.Open("filename.xlsx");
Excel.Worksheet workSheet = workBook.ActiveSheet;
WEB SERVICE TEAM
2011. Technology Seminar
• COM 특성 상호운용 개선사항 (계속)
– PIA embedding (“NO-PIA”)
• 필요한 PIA 인터페이스를 코드에 삽입
C#.NET 4.0 새로운 기능
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET New Platform
WEB SERVICE TEAM
2011. Technology Seminar
• ASP.NET MVC?
– 모델-뷰-컨트롤러(MVC) 아키텍처의 효율성과 깔끔함, 애
자일 개발의 최신 개념과 기술, 그리고 기존 ASP.NET 플랫
폼에 우수한 부분들만을 결합한 플랫폼
• ASP.NET Web Forms의 단점
– 취약한 관계의 분리
– ViewState
– 제약이 많은 HTML 기반 컨트롤
– 테스트의 어려움
– 핵심 컨셉과 거리가 생기는 현업 개발
ASP.NET MVC
WEB SERVICE TEAM
2011. Technology Seminar
• MVC
– M(Model) : 뷰가 사용할 어플리케이션의 객체(비즈니스)
– V(View) : 어플리케이션의 UI를 담당하는 HTML 템플릿
– C(Controller) : 응답과 요청의 대한 핸들러
ASP.NET MVC
WEB SERVICE TEAM
2011. Technology Seminar
• ASP.NET MVC의 장점
– 아키텍처
• MVC 패턴 도입으로 인한 향상된 역할 및 관계의 분리
– 확장성
• 프레임워크 자체가 독립적인 구성 요소(.NET 인터페이스 or
내장된 추상 기본 클래스)들로 구성되어 있기 때문에 라우팅,
뷰 엔진, 컨트롤러 팩토리 등에 어떠한 구성 요소라도 직접
구현 및 대체가 가능
– 엄격한 HTML 제어
• ViewState가 존재하지 않고, 제약적인 UI요소들을 포함한 컨
트롤들이 사용되지 않음
– 테스트
• 완벽하게 분리된 역할 및 관계로 인해 각각 독립적인 소프트
웨어 조각으로 분리할 수 있으므로, 단위 테스트 및 자동 테
스트가 용이
ASP.NET MVC
WEB SERVICE TEAM
2011. Technology Seminar
• ASP.NET Web Pages?
– 기존 웹 개발의 복잡성을 획기적으로 개선하고, ASP.NET
의 성능과 안정성을 그대로 유지하며, 빠르고 쉬운 개발 환
경을 제공하는 새로운 플랫폼
• WebMatrix?
– MS계열의 LAPM(Linux, Apache, PHP, MYSQL)
– 쉬운 설치 과정만으로 웹 개발 환경 구성 가능
– 가장 중요한 특징 : 무료
– 구성 요소
• 웹 서버, 데이터베이스, 개발 프레임워크, 개발도구, 기타 유
틸리티
ASP.NET Web Pages
WEB SERVICE TEAM
2011. Technology Seminar
• Web Matrix 구성 요소
– [웹 서버] IIS Developer Express
• 웹사이트를 실행해 개발과 테스트를 진행하도록 돕는 가벼운
웹 서버 자체 내장
– [데이터베이스] SQL Server CE
• .NET 기반의 API를 제공하는 간결화된 데이터베이스
– [개발 프레임워크] Web Pages Framework & Razor Syntax
• 새로운 표현 구문인 Razor Syntax 템플릿 엔진 지원
– [개발 도구] WebMatrix or Visual Studio
• Visual Studio에 강력한 개발 환경 사용 가능
– 디버깅, 코드인텔리센스, 등
– [유틸리티] 서버관리, 모니터링, 보고서, 오픈 소스 스토어
• 웹 서버 및 웹 사이트 관리를 위한 기본적인 유틸리티 지원
• 외부 Helper를 업/다운로드 할 수 있는 스토어 제공
ASP.NET Web Pages
WEB SERVICE TEAM
2011. Technology Seminar
ASP.NET Web Pages
.NET Framework 4.0
ASP.NET
WebPages
• .NET Framework 4.0 기반 기술
• 추가적인 유틸리티 설치 불필요
• ASP.NET의 풍부한 기능 활용 가능
• 최상위 계층에서 쉬운 문법 제공
WEB SERVICE TEAM
2011. Technology Seminar
• 생산성과 확장성의 극대화
• 다양한 개발 편의 기능 제공
• 표준을 지향하는 깔끔한 UI 코드
• SEO를 지향하는 메커니즘 도입
• ASP.NET AJAX 4 강화
• jQuery의 통합
• C# 언어의 활용성 및 기능성 강화
• 플랫폼 및 방법론의 다양화
Summary
WEB SERVICE TEAM
2011. Technology Seminar
Summary
• 다양해진 ASP.NET 플랫폼 라인업
WEB SERVICE TEAM
2011. Technology Seminar
참고 문헌
• WebSite and Blog
– http://www.c-sharpcorner.com/UploadFile/john_charles/1882/
– http://msdn.microsoft.com/en-us/vcsharp/aa336766
– http://msdn.microsoft.com/ko-kr/library/s57a598e.aspx
– http://msdn.microsoft.com/ko-kr/library/bb383815.aspx
– http://www.sqler.com/index.php?mid=bRazor&page=8&document_srl=196724
– http://blog.naver.com/saltynut?Redirect=Log&logNo=120097115880
– http://blog.tobegin.net/36
– http://blog.tobegin.net/37
– http://blog.tobegin.net/38
– http://blog.tobegin.net/39
WEB SERVICE TEAM
2011. Technology Seminar
감사합니다!

More Related Content

Similar to ASP.NET 4 New Features

임태현, IIS with ASP.NET
임태현, IIS with ASP.NET임태현, IIS with ASP.NET
임태현, IIS with ASP.NET태현 임
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with AngularJT Jintae Jung
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)SangIn Choung
 
2Naver Open Android API Translation At DCamp
2Naver Open Android API Translation At DCamp2Naver Open Android API Translation At DCamp
2Naver Open Android API Translation At DCampJeikei Park
 
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)Sang Don Kim
 
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리Kenu, GwangNam Heo
 
두근두근 ASP.NET 5!
두근두근 ASP.NET 5!두근두근 ASP.NET 5!
두근두근 ASP.NET 5!SangHoon Han
 
XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개Jung soo Ahn
 
크로스플랫폼으로 다시 태어난 ASP.NET Core
크로스플랫폼으로 다시 태어난 ASP.NET Core크로스플랫폼으로 다시 태어난 ASP.NET Core
크로스플랫폼으로 다시 태어난 ASP.NET CoreSangHoon Han
 
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례형석 김
 
Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture준일 엄
 
04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)Hankyo
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
JavaScript MEAN 스택
JavaScript MEAN 스택JavaScript MEAN 스택
JavaScript MEAN 스택Tai Hoon KIM
 
[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈NAVER D2
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online SeriesAmazon Web Services Korea
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!Open Source Consulting
 

Similar to ASP.NET 4 New Features (20)

임태현, IIS with ASP.NET
임태현, IIS with ASP.NET임태현, IIS with ASP.NET
임태현, IIS with ASP.NET
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 
2Naver Open Android API Translation At DCamp
2Naver Open Android API Translation At DCamp2Naver Open Android API Translation At DCamp
2Naver Open Android API Translation At DCamp
 
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)
 
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
 
두근두근 ASP.NET 5!
두근두근 ASP.NET 5!두근두근 ASP.NET 5!
두근두근 ASP.NET 5!
 
XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개
 
크로스플랫폼으로 다시 태어난 ASP.NET Core
크로스플랫폼으로 다시 태어난 ASP.NET Core크로스플랫폼으로 다시 태어난 ASP.NET Core
크로스플랫폼으로 다시 태어난 ASP.NET Core
 
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
 
Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture
 
04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
JavaScript MEAN 스택
JavaScript MEAN 스택JavaScript MEAN 스택
JavaScript MEAN 스택
 
[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈
 
Cygnus unit test
Cygnus unit testCygnus unit test
Cygnus unit test
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 
J2 Ee
J2 EeJ2 Ee
J2 Ee
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 

More from SangHoon Han

ASP.NET Core와 Azure App Service와의 환상적인 만남
ASP.NET Core와 Azure App Service와의 환상적인 만남ASP.NET Core와 Azure App Service와의 환상적인 만남
ASP.NET Core와 Azure App Service와의 환상적인 만남SangHoon Han
 
VSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application Insights
VSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application InsightsVSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application Insights
VSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application InsightsSangHoon Han
 
최신 IT 트렌드, 그리고 Web을 만드는 사람들
최신 IT 트렌드, 그리고 Web을 만드는 사람들최신 IT 트렌드, 그리고 Web을 만드는 사람들
최신 IT 트렌드, 그리고 Web을 만드는 사람들SangHoon Han
 
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdfSangHoon Han
 
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfSangHoon Han
 
Developer`s Web Standard
Developer`s Web StandardDeveloper`s Web Standard
Developer`s Web StandardSangHoon Han
 
ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)
ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)
ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)SangHoon Han
 
Blazor와 안면 트기!
Blazor와 안면 트기!Blazor와 안면 트기!
Blazor와 안면 트기!SangHoon Han
 
ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이
ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이
ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이SangHoon Han
 
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)SangHoon Han
 
Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험
Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험
Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험SangHoon Han
 
커뮤니티와 함께하는 슬기로운 개발생활
커뮤니티와 함께하는 슬기로운 개발생활커뮤니티와 함께하는 슬기로운 개발생활
커뮤니티와 함께하는 슬기로운 개발생활SangHoon Han
 
I am ASP.NET Core Razor Pages
I am ASP.NET Core Razor Pages I am ASP.NET Core Razor Pages
I am ASP.NET Core Razor Pages SangHoon Han
 
크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!
크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!
크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!SangHoon Han
 
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!SangHoon Han
 

More from SangHoon Han (15)

ASP.NET Core와 Azure App Service와의 환상적인 만남
ASP.NET Core와 Azure App Service와의 환상적인 만남ASP.NET Core와 Azure App Service와의 환상적인 만남
ASP.NET Core와 Azure App Service와의 환상적인 만남
 
VSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application Insights
VSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application InsightsVSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application Insights
VSO의 매력 터지는 핵심 기능! 클라우드 기반의 성능 분석 도구 Application Insights
 
최신 IT 트렌드, 그리고 Web을 만드는 사람들
최신 IT 트렌드, 그리고 Web을 만드는 사람들최신 IT 트렌드, 그리고 Web을 만드는 사람들
최신 IT 트렌드, 그리고 Web을 만드는 사람들
 
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
 
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
 
Developer`s Web Standard
Developer`s Web StandardDeveloper`s Web Standard
Developer`s Web Standard
 
ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)
ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)
ASP.NET 4.0 New Features Part2 - URL Routing(ASP.NET WebForms)
 
Blazor와 안면 트기!
Blazor와 안면 트기!Blazor와 안면 트기!
Blazor와 안면 트기!
 
ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이
ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이
ASP.NET의 시작(or 재시작)을 어려워하는 이들을 위한 길라잡이
 
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
 
Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험
Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험
Intelligent Kiosk와 함께 떠나는 Microsoft Cognitive Services 탐험
 
커뮤니티와 함께하는 슬기로운 개발생활
커뮤니티와 함께하는 슬기로운 개발생활커뮤니티와 함께하는 슬기로운 개발생활
커뮤니티와 함께하는 슬기로운 개발생활
 
I am ASP.NET Core Razor Pages
I am ASP.NET Core Razor Pages I am ASP.NET Core Razor Pages
I am ASP.NET Core Razor Pages
 
크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!
크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!
크로스 플랫폼을 지향하는 Alm, 당황하지 않고 vso로 빡! 끝!
 
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
 

Recently uploaded

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 

Recently uploaded (6)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

ASP.NET 4 New Features

  • 1. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET 4.0 New Features 한상훈
  • 2. WEB SERVICE TEAM 2011. Technology Seminar Agenda • ASP.NET 버전 업그레이드 현황 • ASP.NET 4.0 • C#.NET 4.0 • ASP.NET New Platform – ASP.NET MVC – ASP.NET Web Pages • Summary
  • 3. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET 버전 업그레이드 현황
  • 4. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET 버전 업그레이드 현황 ASP.NET 4 ASP.NET 1.1 Server Controls, State Management, Data Management 등 ASP.NET 2.0 MasterPage, Security, Theme, WebPart, Provider Model 등 ASP.NET 3.0 WPF, WCF, WF, CardSpace 등 ASP.NET 3.5 Embedded ASP.NET AJAX, LINQ 등 ASP.NET 3.5 SP1 ASP.NET Dynamic Data ASP.NET AJAX 기능 추가 ADO.NET 데이터 서비스 ASP.NET MVC 1.0 ~ MVC 패턴 적용, 단위 테스팅 지원, URL Routing 등 ASP.NET Web Pages ASP.NET AJAX
  • 5. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET 4.0
  • 6. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET 4.0 • ASP.NET Core Services 강화 • ASP.NET Web Forms 기능 추가 • ASP.NET AJAX 4 기능 강화 • ASP.NET MVC 기능 추가 • Dynamic Data 기능 강화 >Web.config 파일 리팩토링 >확장 가능한 Output Caching >Web Application 자동 시작 기능 >영구적인 페이지 이동 기능 >허용 가능한 URL 범위 확장 >확장 가능한 Html, URL, HTTP 헤더 인코딩 >세션 상태 정보 압축 >단일 작업자 프로세스 상의 개별 애플리케이션에 대한 성능 모니터링 지원 >ASP.NET Multi-Targeting 향상 >명령적(Imperative) 문법 >스크립트 로더 (Script Loader) >클라이언트 데이터 액세스 강화 >jQuery 통합 >동적인 메타 태그 설정 (MetaKeywords, MetaDescription) >개별 컨트롤에 대한 ViewState의 활성화 >페이지 Routing 사용 지원 >ClientID 속성 설정 >ASP.NET Chart 컨트롤 확장 >서버 컨트롤의 확장 및 기능 보완 >Area 지원 >Data-Annotation 어트리뷰트 유효성 검사 >Helper 메서드 지원 >선언적인 DynamicDataManager 컨트롤 >Entity 템플릿 >URL과 E-mail을 위한 필드 템플릿 추가 >Data Model에서의 상속 지원 >다대다(Many-to-Many) 관계 지원 >향상된 필터 지원
  • 7. WEB SERVICE TEAM 2011. Technology Seminar • Web.Config 파일 리팩토링 – 주요 구성 요소들은 machine.config 파일로 이동. – 응용 프로그램은 이 설정을 상속. • 확장 가능한 Output Caching – 하나 이상의 사용자 지정 출력 캐시 공급자 구성 가능. – 모든 저장 메커니즘을 사용하여 HTML 콘텐츠 유지. • 로컬, 원격 디스크, 클라우드 저장소, 분산 캐시 엔진 등. – “Microsoft Velocity” 분산 캐시 서버 시스템과 통합 ASP.NET Core Services 강화 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> </configuration>
  • 8. WEB SERVICE TEAM 2011. Technology Seminar • Web Application 자동 시작 기능 – 기존 버전까지는 응용 프로그램 게시 후 첫 요청을 처리하 기 위해서 비용이 많이 드는 초기화 작업이 필요. – 첫 번째 HTTP 요청을 처리하기 전에 미리 초기화 작업을 수행할 수 있음. • IIS 7.5 기반에서 사용 가능 • 영구적인 페이지 이동 기능 – Redirect 는 임시적인 페이지 이동을 발생 – 영구적인 페이지 이동을 발생시키는 RedirectPermanent ASP.NET Core Services 강화 Response.RedirectPermanent(newUrl); Response.RedirectToRoutePermanent(routeName);
  • 9. WEB SERVICE TEAM 2011. Technology Seminar • 허용 가능한 URL 범위 확장 – URL 경로 길이에 제한을 없애고 확장할 수 있는 기능 추가 – 사용자 정의할 수 있는 URL 문자 검사 기능 추가 • 확장 가능한 HTML, URL 및 HTTP 인코딩 – 사용자 지정 인코딩 루틴 생성 및 적용 가능 • HTML encoding • URL encoding • HTML attribute encoding • Encoding outbound HTTP headers ASP.NET Core Services 강화 <httpRuntime maxRequestLength="260" maxQueryStringLength="2048“ /> <httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,,?" />
  • 10. WEB SERVICE TEAM 2011. Technology Seminar • 확장 가능한 HTML, URL 및 HTTP 인코딩 (계속) ASP.NET Core Services 강화 public class AntiXssEncoder : HttpEncoder { public AntiXssEncoder() { } protected override void HtmlEncode(string value, System.IO.TextWriter output) { output.Write(AntiXss.HtmlEncode(value)); } protected override void HtmlAttributeEncode(string value, System.IO.TextWriter output) { output.Write(AntiXss.HtmlAttributeEncode(value); } } <httpRuntime encoderType="AntiXssEncoder" />
  • 11. WEB SERVICE TEAM 2011. Technology Seminar • 단일 작업자 프로세스 상의 개별 애플리케이션에 대 한 성능 모니터링 지원 – 여러 응용 프로그램에서 단일 공유 작업자 프로세스를 사 용하는 경우에 장애 발생 시 문제가 발생한 개별 응용 프 로그램 식별이 어려움 – aspnet.config 파일에 appDomainResourceMonitoring 속 성을 사용하여 개별 응용 프로그램의 리소스 소비량 확인 • Managed Processor Time • Managed Memory Used ASP.NET Core Services 강화 <configuration> <runtime> <appDomainResourceMonitoring enabled="true" /> </runtime> </configuration>
  • 12. WEB SERVICE TEAM 2011. Technology Seminar • 동적인 메타 태그 설정 – <meta> APIs • Page.MetaKeywords • Page.MetaDescription • 개별 컨트롤에 대한 ViewState의 활성화 – ViewState를 보다 깔끔하게 관리 • 페이지 대상 Disabled, 컨트롤 대상 Enabled ASP.NET Web Forms 기능 강화 <%@ Page MetaDescription="products" MetaKeywords="Listing" %> this.MetaDescription = "Listing For " + value; this.MetaKeywords = "Seoul, KOREA, " + value; <%@ Page ViewStateMode="Disabled” %> <asp:TextBox ID="TextBox1" runat="server" ViewStateMode="Enabled"></asp:TextBox>
  • 13. WEB SERVICE TEAM 2011. Technology Seminar • 페이지 Routing 사용 지원 – 깔끔하고, 논리적인 URL 생성 • 사람이 기억하기 쉽고, SEO에 적합 – 인바운드, 아웃바운드 URL을 처리 • 요청과 리소스에 대한 매핑은 global.asax안에 Route에 정의 • Page.RouteData 와 <asp:RouteParameter /> • 마크업에서의 URL 출력 : RouteUrl, RouteValue – <%$ .. %> 라는 새로운 표현식 사용 ASP.NET Web Forms 기능 강화 Old : http://three.hanbiton.com/Community/ThreeView.aspx?postid=1111 New : http://three.hanbiton.com/Community/Three/View/1111
  • 14. WEB SERVICE TEAM 2011. Technology Seminar • ClientID 속성 설정 – 클라이언트 코드에서 사용할 수 있도록 생성되는 ID • ClientIDMode – AutoID : ASP.NET 기본 형식 – Static : 고정적인 형식 (Fix ID) – Predictable : ClientIDRowSuffix 속성에서 지정한 필드 값이 추 가되는 형식 – Inherit : 상위 컨트롤의 ClientIDMode를 따르는 형식 ASP.NET Web Forms 기능 강화 <%@ Page ClientIDMode=“Static” %> <asp:ListView runat="server" ID="ListView1" ClientIDRowSuffix="ProductID"> <ItemTemplate> <asp:Label runat="server" ClientIDMode="Predictable">Client ID</asp:Label> </ItemTemplate> </asp:ListView>
  • 15. WEB SERVICE TEAM 2011. Technology Seminar • ClientID 속성 설정 (계속) – ClientIDMode 별 ID 형태 • UniqueID는 ClientIDMode 속성에 영향받지 않음 • ClientIDMode = “AutoID” • ClientIDMode = “Static” • ClientIDMode = “Predictable” ASP.NET Web Forms 기능 강화 ListView1$ctrl0$ProductIDLabel ListView1$ctrl1$ProductIDLabel ListView1$ctrl2$ProductIDLabel ListView1_ctrl0_ProductIDLabel ListView1_ctrl1_ProductIDLabel ListView1_ctrl2_ProductIDLabel ProductIDLabel ProductIDLabel ProductIDLabel ListView1_ProductIDLabel_1 ListView1_ProductIDLabel_2 ListView1_ProductIDLabel_3
  • 16. WEB SERVICE TEAM 2011. Technology Seminar • ASP.NET Chart 컨트롤 확장 – <asp:ChartControl .. /> 기능 강화 및 내장 ASP.NET Web Forms 기능 강화
  • 17. WEB SERVICE TEAM 2011. Technology Seminar • 서버 컨트롤의 확장 및 기능 보완 – 데이터 컨트롤에서 열 선택 유지되는 기능 • GridView와 ListView 컨트롤만 해당 • EnablePersistedSelection = “true” – ListView 컨트롤 강화 • LayoutTemplate은 더 이상 필수가 아님 – CheckBoxList와 RadioButtonList 컨트롤 강화 • 새로운 RepeatLayout 지원 : OrderedList(ol), norderedList(ul) – controlRenderingCompatibilityVersion=“3.5|4.0” • <page controlRenderingCompatibilityVersion=“4.0” /> • disabled 속성은 Html Input 요소에만 적용 – RenderOuterTable 속성 지원 • FormView, Login, Wizard, ChangePassword 등 – Menu 컨트롤 보강 • Table로 렌더되지 않음. li로 렌더됨. • 키보드 네비게이션 지원 ASP.NET Web Forms 기능 강화
  • 18. WEB SERVICE TEAM 2011. Technology Seminar C#.NET 4.0
  • 19. WEB SERVICE TEAM 2011. Technology Seminar • 이전 버전까지의 C#.NET – C#.NET 1.0 • C#.NET의 탄생 – C#.NET 2.0 • C# 개발에 큰 변화를 일으킨 Generic, Partial Type • Nullable Type, Iterator, Anonymous Method, Static Class, Friend Assemblies – C#.NET 3.0 • 가장 큰 변화는 LINQ의 도입과 var 키워드 지원 • Partial Method • Delegate -> Anonymous Method -> Lambda Expression • Static Member -> Static Class -> Extention Method C#.NET 4.0
  • 20. WEB SERVICE TEAM 2011. Technology Seminar C#.NET 4.0 새로운 기능
  • 21. WEB SERVICE TEAM 2011. Technology Seminar • 동적 유형 지원 – Dynamic : 실행시간을 지연하여 런타임에서 타입을 유추 C#.NET 4.0 새로운 기능 Dynamic Static Weak Typing Strong Typing Run-Time Binding Compile-Time Binding Late Binding Early Binding Python, Ruby.. C, C++, C#, Java.. dynamic dynamicValue = 1; int i = dynamicValue; // 동적 조작에 대한 예 dynamic dynamicValue = MakeDynamicObject(); dynamicValue.M(1); // Method dynamicValue.f = dynamicValue.P; // Property Getter/Setter dynamicValue["one"] = dynamicValue["two"]; // Indexer int i = dynamicValue + 2; // Operator string s = dynamicValue(3, 4); // Delegate var c = new C(dynamicValue); // Constructor
  • 22. WEB SERVICE TEAM 2011. Technology Seminar • 공변성과 반공변성 : 가변성 – Covariance : 지정된 Type대신 그 Type에서 파생된 자식 Type을 사용할 수 있게 해주는 것 – Contravariance : 지정된 Type 대신 그 Type의 상위 부모 Type을 사용할 수 있게 해주는 것 – 이전 버전까지는 Generic에 대해서 Invariant 였으나, 4.0부 터는 Covariance 및 Contravariance 지원 C#.NET 4.0 새로운 기능 class Human { } class Man : Human { } class Dog : Man { } // 위와 같은 클래스 관계 구조에서 Man Type을 필요로 하는 경우.. // Man Type 대신 Dog Type을 사용할 수 있게 해주는 것 : Covariance // Man Type 대신 Human Type을 사용할 수 있게 해주는 것 : Contravariance delegate void Action<in T>(T a); delegate T Func<out T>(); // Contravariance를 하기 위해서는 in 키워드 사용 // Covariance를 하기 위해서는 out 키워드 사용
  • 23. WEB SERVICE TEAM 2011. Technology Seminar • 명명된 인수와 선택적 인수 – 많은 파라미터를 정의해야 하는 경우 불필요한 노력이 발 생하는 문제를 해결 – 일반적인 메서드 정의와 호출 방법 – 명명된 인수와 선택적 인수를 사용 C#.NET 4.0 새로운 기능 // 메서드 정의 public void TestMethod(int number, string name, bool isCheck) { } // 메서드 호출 TestMethod(1, "itist", true); // 메서드 정의 public void M(int number, string name = "itist", bool isCheck = true) { } // 메서드 호출 TestMethod(1, “Goodguy", false); //OK TestMethod(1); //OK TestMethod(1, name: “Goodguy", isCheck:false); //OK TestMethod(1, name: “Goodguy"); //OK TestMethod(1, isCheck: false); //OK
  • 24. WEB SERVICE TEAM 2011. Technology Seminar • COM 특성 상호운용 개선사항 – .NET과 COM의 상호운용 구조 – 개선된 사항 • Automatic Object -> Dynamic Mapping • Optional and Named Parameters 지원 • PIA embedding (“NO-PIA”) C#.NET 4.0 새로운 기능
  • 25. WEB SERVICE TEAM 2011. Technology Seminar • COM 특성 상호운용 개선사항 (계속) – Automatic Object -> Dynamic Mapping • COM에서 Variant 타입을 사용하는 경우 PIA에서는 Object로 표현되던 불편함을 해소 • Dynamic을 사용해서 Variant 타입 표현 가능 – Optional and Named Parameters 지원 • 메서드 호출 시 사용하지 않거나 불필요한 매개변수에 대한 ref missing 처리를 하지 않아도 됨 C#.NET 4.0 새로운 기능 // 기존 Excel.Workbook workBook = excel.Workbooks.Open("filename.xlsx", missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); Excel.Worksheet workSheet = (Excel.Worksheet)workBook.ActiveSheet; // 개선 Excel.Workbook workBook = excel.Workbooks.Open("filename.xlsx"); Excel.Worksheet workSheet = workBook.ActiveSheet;
  • 26. WEB SERVICE TEAM 2011. Technology Seminar • COM 특성 상호운용 개선사항 (계속) – PIA embedding (“NO-PIA”) • 필요한 PIA 인터페이스를 코드에 삽입 C#.NET 4.0 새로운 기능
  • 27. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET New Platform
  • 28. WEB SERVICE TEAM 2011. Technology Seminar • ASP.NET MVC? – 모델-뷰-컨트롤러(MVC) 아키텍처의 효율성과 깔끔함, 애 자일 개발의 최신 개념과 기술, 그리고 기존 ASP.NET 플랫 폼에 우수한 부분들만을 결합한 플랫폼 • ASP.NET Web Forms의 단점 – 취약한 관계의 분리 – ViewState – 제약이 많은 HTML 기반 컨트롤 – 테스트의 어려움 – 핵심 컨셉과 거리가 생기는 현업 개발 ASP.NET MVC
  • 29. WEB SERVICE TEAM 2011. Technology Seminar • MVC – M(Model) : 뷰가 사용할 어플리케이션의 객체(비즈니스) – V(View) : 어플리케이션의 UI를 담당하는 HTML 템플릿 – C(Controller) : 응답과 요청의 대한 핸들러 ASP.NET MVC
  • 30. WEB SERVICE TEAM 2011. Technology Seminar • ASP.NET MVC의 장점 – 아키텍처 • MVC 패턴 도입으로 인한 향상된 역할 및 관계의 분리 – 확장성 • 프레임워크 자체가 독립적인 구성 요소(.NET 인터페이스 or 내장된 추상 기본 클래스)들로 구성되어 있기 때문에 라우팅, 뷰 엔진, 컨트롤러 팩토리 등에 어떠한 구성 요소라도 직접 구현 및 대체가 가능 – 엄격한 HTML 제어 • ViewState가 존재하지 않고, 제약적인 UI요소들을 포함한 컨 트롤들이 사용되지 않음 – 테스트 • 완벽하게 분리된 역할 및 관계로 인해 각각 독립적인 소프트 웨어 조각으로 분리할 수 있으므로, 단위 테스트 및 자동 테 스트가 용이 ASP.NET MVC
  • 31. WEB SERVICE TEAM 2011. Technology Seminar • ASP.NET Web Pages? – 기존 웹 개발의 복잡성을 획기적으로 개선하고, ASP.NET 의 성능과 안정성을 그대로 유지하며, 빠르고 쉬운 개발 환 경을 제공하는 새로운 플랫폼 • WebMatrix? – MS계열의 LAPM(Linux, Apache, PHP, MYSQL) – 쉬운 설치 과정만으로 웹 개발 환경 구성 가능 – 가장 중요한 특징 : 무료 – 구성 요소 • 웹 서버, 데이터베이스, 개발 프레임워크, 개발도구, 기타 유 틸리티 ASP.NET Web Pages
  • 32. WEB SERVICE TEAM 2011. Technology Seminar • Web Matrix 구성 요소 – [웹 서버] IIS Developer Express • 웹사이트를 실행해 개발과 테스트를 진행하도록 돕는 가벼운 웹 서버 자체 내장 – [데이터베이스] SQL Server CE • .NET 기반의 API를 제공하는 간결화된 데이터베이스 – [개발 프레임워크] Web Pages Framework & Razor Syntax • 새로운 표현 구문인 Razor Syntax 템플릿 엔진 지원 – [개발 도구] WebMatrix or Visual Studio • Visual Studio에 강력한 개발 환경 사용 가능 – 디버깅, 코드인텔리센스, 등 – [유틸리티] 서버관리, 모니터링, 보고서, 오픈 소스 스토어 • 웹 서버 및 웹 사이트 관리를 위한 기본적인 유틸리티 지원 • 외부 Helper를 업/다운로드 할 수 있는 스토어 제공 ASP.NET Web Pages
  • 33. WEB SERVICE TEAM 2011. Technology Seminar ASP.NET Web Pages .NET Framework 4.0 ASP.NET WebPages • .NET Framework 4.0 기반 기술 • 추가적인 유틸리티 설치 불필요 • ASP.NET의 풍부한 기능 활용 가능 • 최상위 계층에서 쉬운 문법 제공
  • 34. WEB SERVICE TEAM 2011. Technology Seminar • 생산성과 확장성의 극대화 • 다양한 개발 편의 기능 제공 • 표준을 지향하는 깔끔한 UI 코드 • SEO를 지향하는 메커니즘 도입 • ASP.NET AJAX 4 강화 • jQuery의 통합 • C# 언어의 활용성 및 기능성 강화 • 플랫폼 및 방법론의 다양화 Summary
  • 35. WEB SERVICE TEAM 2011. Technology Seminar Summary • 다양해진 ASP.NET 플랫폼 라인업
  • 36. WEB SERVICE TEAM 2011. Technology Seminar 참고 문헌 • WebSite and Blog – http://www.c-sharpcorner.com/UploadFile/john_charles/1882/ – http://msdn.microsoft.com/en-us/vcsharp/aa336766 – http://msdn.microsoft.com/ko-kr/library/s57a598e.aspx – http://msdn.microsoft.com/ko-kr/library/bb383815.aspx – http://www.sqler.com/index.php?mid=bRazor&page=8&document_srl=196724 – http://blog.naver.com/saltynut?Redirect=Log&logNo=120097115880 – http://blog.tobegin.net/36 – http://blog.tobegin.net/37 – http://blog.tobegin.net/38 – http://blog.tobegin.net/39
  • 37. WEB SERVICE TEAM 2011. Technology Seminar 감사합니다!