ASP.Net<br />Core Services & Basic Concepts<br />by Victor Haydin<br />Eleks Software Ltd.<br />
IIS + ASP.Net: low level concepts<br />
Архітектура типового web-сервера<br />
Стек технологій Microsoft для роботи з Web<br />Web-server: Internet Information Services (IIS)<br />Low-Level: ISAPI<br /...
Інтеграція ASP.Net та IIS<br />
ASP.Net Core Services<br />
ASP.Net Core Services<br />Базові сутності:<br />HttpApplication<br />HttpContext<br /><ul><li>HttpRequest
HttpResponse</li></ul>HttpHandler<br />HttpModule<br />
HttpHandler<br />IHttpHandler:<br />publicinterfaceIHttpHandler{<br />boolIsReusable { get; }<br />voidProcessRequest(Http...
HttpContext<br />Cache<br />Handler<br />Items<br />Request<br />Response<br />Server<br />Session<br />User<br />etc.<br />
HttpRequest<br />ApplicationPath, FilePath, Path…<br />Browser (UserAgent)<br />Cookies<br />Files<br />Headers<br />HttpM...
HttpResponse<br />Redirect() (RedirectToRoute() etc.)<br />Write() (WriteFile() etc.)<br />ContentType<br />Cookies<br />H...
HttpModule<br />IHttpModule:<br />publicinterfaceIHttpModule {<br />voidInit(HttpApplication context);<br />voidDispose();...
HttpApplication pipeline<br />BeginRequest<br />AuthenticateRequest<br />AuthorizeRequest<br />ResolveRequestCache<br />[A...
ASP.Net: Additional Platform Features<br />
Additional platform features<br />Windows/Forms authentication<br />Membership, Roles and Profiles<br />Url-based authoriz...
ASPX Rendering Engine<br />
ASPX-файли<br />Обробляються за допомогою стандартного HttpHandler<br />Компілюються при першому звертанні до них у спеціа...
ASP.Net: High Level Frameworks<br />
Екосистема ASP.Net<br />
ASP.NetWebForms<br />Плюси<br /><ul><li>Базовий фреймворк для ASP.Netз моменту його появи
Низький рівень входження, особливо для програмістів з досвідом написання настільних додатків
Багата бібліотека «рідних» і сторонніх контролів і компонент
Абстрагованість від HTTP
Upcoming SlideShare
Loading in...5
×

ASP.Net Core Services

976

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
976
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This template can be used as a starter file for presenting training materials in a group setting.SectionsRight-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.NotesUse the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)Coordinated colors Pay particular attention to the graphs, charts, and text boxes.Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.Graphics, tables, and graphsKeep it simple: If possible, use consistent, non-distracting styles and colors.Label all graphs and tables.
  • Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
  • Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
  • ASP.Net Core Services

    1. 1. ASP.Net<br />Core Services & Basic Concepts<br />by Victor Haydin<br />Eleks Software Ltd.<br />
    2. 2. IIS + ASP.Net: low level concepts<br />
    3. 3. Архітектура типового web-сервера<br />
    4. 4. Стек технологій Microsoft для роботи з Web<br />Web-server: Internet Information Services (IIS)<br />Low-Level: ISAPI<br />Mid-Level (.Net): ASP.Net Core Services<br />High-Level: ASP.NetWebForms,ASP.Net MVC<br />Client-side: ASP.Net AJAX, jQuery<br />
    5. 5. Інтеграція ASP.Net та IIS<br />
    6. 6. ASP.Net Core Services<br />
    7. 7. ASP.Net Core Services<br />Базові сутності:<br />HttpApplication<br />HttpContext<br /><ul><li>HttpRequest
    8. 8. HttpResponse</li></ul>HttpHandler<br />HttpModule<br />
    9. 9. HttpHandler<br />IHttpHandler:<br />publicinterfaceIHttpHandler{<br />boolIsReusable { get; }<br />voidProcessRequest(HttpContext context);<br />}<br />IHttpHandlerFactory:<br />publicinterfaceIHttpHandlerFactory {<br />IHttpHandlerGetHandler(HttpContext context, <br />stringrequestType, stringurl, <br />stringpathTranslated);<br /> voidReleaseHandler(IHttpHandler handler);<br />}<br />
    10. 10. HttpContext<br />Cache<br />Handler<br />Items<br />Request<br />Response<br />Server<br />Session<br />User<br />etc.<br />
    11. 11. HttpRequest<br />ApplicationPath, FilePath, Path…<br />Browser (UserAgent)<br />Cookies<br />Files<br />Headers<br />HttpMethod<br />IsAuthenticated, IsLocal, IsSecureConnection<br />Params(Form, QueryStringetc.)<br />RawUrl<br />RequestType<br />UserHostAddress (UserHostName)<br />UserLanguages<br />
    12. 12. HttpResponse<br />Redirect() (RedirectToRoute() etc.)<br />Write() (WriteFile() etc.)<br />ContentType<br />Cookies<br />Headers<br />OutputStream (Output)<br />Status (StatusCode, StatusDescription, SubStatusCode etc.)<br />
    13. 13. HttpModule<br />IHttpModule:<br />publicinterfaceIHttpModule {<br />voidInit(HttpApplication context);<br />voidDispose();<br />}<br />
    14. 14. HttpApplication pipeline<br />BeginRequest<br />AuthenticateRequest<br />AuthorizeRequest<br />ResolveRequestCache<br />[A handler (a page corresponding to the request URL) is created at this point.]<br />AcquireRequestState<br />PreRequestHandlerExecute<br />[The handler is executed.]<br />PostRequestHandlerExecute<br />ReleaseRequestState<br />[Response filters, if any, filter the output.]<br />UpdateRequestCache<br />EndRequest<br />
    15. 15.
    16. 16. ASP.Net: Additional Platform Features<br />
    17. 17. Additional platform features<br />Windows/Forms authentication<br />Membership, Roles and Profiles<br />Url-based authorization<br />Data caching<br />Internationalization<br />Performance and monitoring<br />
    18. 18. ASPX Rendering Engine<br />
    19. 19. ASPX-файли<br />Обробляються за допомогою стандартного HttpHandler<br />Компілюються при першому звертанні до них у спеціальний клас, який формує респонс для клієнта<br />Вміст aspx-файла – це декларативний опис HTML-розмітки, яка буде віддана клієнту<br />
    20. 20. ASP.Net: High Level Frameworks<br />
    21. 21. Екосистема ASP.Net<br />
    22. 22. ASP.NetWebForms<br />Плюси<br /><ul><li>Базовий фреймворк для ASP.Netз моменту його появи
    23. 23. Низький рівень входження, особливо для програмістів з досвідом написання настільних додатків
    24. 24. Багата бібліотека «рідних» і сторонніх контролів і компонент
    25. 25. Абстрагованість від HTTP
    26. 26. Event-driven модель розробки
    27. 27. Можливість програмувати «мишею»</li></ul>Мінуси<br /><ul><li>Важко піддається автоматичному тестуванню
    28. 28. Провокує програмістів змішувати логіку і представлення, писати «брудний» код
    29. 29. Неочевидна модель Page Life-Cycle
    30. 30. Неповний контроль над HTML-розміткою і «некрасиві» URL, як наслідок, сайти важко піддаються оптимізації для пошукових систем</li></li></ul><li>ASP.Net MVC<br />Плюси<br /><ul><li>Легко піддається автоматичному тестуванню
    31. 31. Архітектура спонукає програміста писати «чистий» код
    32. 32. Гнучкий і легкий
    33. 33. Звичний для програмістів із досвідом розробки веб-додатків на інших платформах (Ruby on Rails, Zend, Django etc.)
    34. 34. Повний контроль над HTML-розміткою, простота інтеграції з сторонніми клієнтськими фреймворками</li></ul>Мінуси<br /><ul><li>Відносно нова технологія (менше ніж 1,5 роки від першого релізу)
    35. 35. Небагата бібліотека контролів і сторонніх компонент
    36. 36. Вищий рівень входження для програміста</li></li></ul><li>Що вибрати?<br />WebForms<br />MVC<br />
    37. 37. Що вибрати?<br />Custom IHttpHandler realization<br />
    38. 38. Запитання?<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×