zoukankan      html  css  js  c++  java
  • Chapter 1: Design the application architecture

    1.1 Plan the application layers

    提到了repository pattern,SoC(Separation of Concern),

    进而提及MVC,Action/Action results,Route/Routing (IHttpHandler, MvcHandler, IControllerFactory),Asynchronous Controllers,Views (Strongly-typed views, View-specific model, partial view, Master page),Razor/WebForms view Engine

    1.2 Design a distributed application

    REST service vs ASP.NET Web Services (ASMX) vs WCF Web API

    通过HttpService调用REST API,(为什么不是HttpClient?)

    Hybrid application - Azure server + local app server/local db server via Azure AppFabric

    3种Session管理模式:InProc(default)/OutProc(StateServer or SQLServer)

    1.3 Deign and implement the Windows Azure role life cycle

    startup tasks management by AppCmd

    1.4 Configure state management

    asp.net使用ViewState来管理state信息。

    asp.net mvc使用以下方式保存state信息:

    • Cache - memory pool on server, shared across users
    • Session - stored on server, unique for each user
    • Cookie - stored on client, passed with each HTTP request to the server
    • QueryString - passed as part of the URL string
    • Context.Items - part of HttpContext and lasts only the lifetime of that request
    • Profile - stored in db and maintains information across sessions

    cookie 

    • 4k限制
    • support feature such as Remember Me.

    Html5 Web Storage

    • browser compatible

    1.5 Design a cache strategy

    使用OutputCache属性来控制cache的范围,Location的值:Any(default)/Client/Downstream/Server/ServerAndClient/None。

    Donut caching support via Substitution api of asp.net

    Donut hole caching:

    1. 在一个返回action的方法(ChildAction)上使用OutputCache属性
    2. 在父View中使用@Html.Action("ChildAction")

    如果在Controller上使用OutputCache属性,那么所有支持GET request的方法都具有这个属性,其他的方法不受影响。

    分布式Caching要用到AppFabric,(.net版的redis应该也支持吧!)

    使用System.Runtime.Caching.dll的默认实现ObjectCache/MemoryCache,来实现data caching。

    Html5支持Application Cache API(AppCache),

    1. 生成cache manifest,
    2. 在Layout.cshtml中reference manifest, 如<html manifest="site.manifest">
    3. 设置正确的MIME-type,Response.ContentType="text/cache-manifest"。

    Http caching。

    1.6 Design and implement a WebSocket strategy

    通过hand shake建立WebSocket连接,server端通过HttpContext.Current.AcceptWebSocketRequests(Func<AspNetWebSocketContext, Task>)完成GET到WebSocket的upgrade。

    由于WebSocket不含http头信息,因此可能无法穿过firewall。

    1.7 Design HTTP modules and handlers

    http module和http handler的区别

    熟悉asp.net mvc的default modules和handlers。

    --------------------------- 知道的更多,不知道的也更多 ---------------------------
  • 相关阅读:
    Adobe Creative Cloud for Win 解决:应用程序无法正常启动(0x0000022)。请单击“确定”关闭应用程序
    项目管理 PM 第六章 时间管理
    R for mac安装 无法争取安装Unable to install any packages 安装 r 里的 igraph 报错 ERROR: configuration failed for package ‘igraph’
    Python 相对路径的解决 “Unicode Error ”unicodeescape" codec can't decode bytes… Cannot open text files in Python 3
    GraphML入门教程
    文案——编辑——希腊字母Greek Alphabet
    Tensorflow入门
    安装Tensorflow及安装过程中的错误——ModuleNotFoundError: No module named 'tensorflow'
    基于 Virtualenv 的安装Tensorflow
    小程序--腾讯地图导航
  • 原文地址:https://www.cnblogs.com/mryux/p/4728424.html
Copyright © 2011-2022 走看看