モデル:データおよびビジネスロジックビュー:を表示
コントローラ:ビュー入力データを受信し、モデル層のビジネスロジック処理によりビューに戻る.
注目点(モデルビューコントローラ)、慣例優先原則を分離する.
browser-->routing-->controller<--view-->browser コントローラは、次のステップではなく何をすべきかを教え、ビューを表示するとactionresultsを返します. 位置決めビュー:対応するフォルダを優先的に検索し、次にsharedフォルダを検索する.
razor:コードセグメント、コードブロック部分ビュー@Html.Partial()、PartialView()はaxaj に戻る
コントローラがビューにデータを渡す:viewdataとviewBage(dynamic)ビューモデル:viewdata.model強タイプ試行:@modelタイプ HtmlHelper:@Html生成html UrlHelper:@Url生成url データモデル、ドメインモデル web formとバックグラウンドwebコンポーネント(asp.net) HTTPは無状態:asp.Netはビュー状態基本的な違い
asp.net
mvc
ビューロジック結合
ぶんり
ページURLファイルベースアクセス
ルーティングURL検索コントローラあり
ステータス管理ビュー
自動ビュー管理なし
Web form構文
razor構文
サーバコントロール
HTMLヘルプメソッド
マザーボード
レイアウト
ユーザーコントロール
部分ビュー
はルーティングを使用できますが、mvcは欠かせません.web fromはを最適化するためです.
HTML help独自のメソッドを作成できるオブジェクト関係マッピングフレームワークorm(object relational mapping) entity framework:code-first、model-first、database-first. モデルデータ検証システム.ComponentModel.DataAnnotations() [System.ComponentModel.DataAnnotations.Range(typeof(DateTime),"2010-01-01","2015-02-02","ErrorMessage="見逃した")]カスタム認証方法 code-first:System.Data.Entity.DbContext接続文字列KEYはベースクラス名と同じ:connectionStrings ajax:xmlhttprequestオブジェクト先open(非同期およびコールバック関数に設定)後send後status=200およびreadystate=4 を判断
mvcクライアント検証を開く
コントローラ:ユーザー入力をブロックし、モデルとビューとその通信を調整するモデル:データ属性、データ検証、ビジネスロジックビュー:レンダリングUI、バインドモデルが他の層に送信前に入力データをチェックする.
単一職責原則(srp)、開放閉鎖原則(ocp対拡張開放、対修正閉鎖)、リス置換原則(lsp)、インタフェース隔離原則(isp)、依存逆置原則(DIP)制御反転:依存注入とサービス位置決めhttp://www.cnblogs.com/tylerdonet/p/3297915.html ActionFilter クライアントテンプレート:mustache.js 操作フィルタ:要求前後の処理を実現し、マーキング方法.
モデルバインディング jsonpドメイン間ajax要求を実現
web apiはRouteTableを使用しています.MapHttpRoute() web api名称優先GET PUT POST DELETE oDATA:オープンデータプロトコルCRUD web apiのHttpResponseExceptionは、例外フィルタ、グローバル登録または属性表示を使用することができ、を書き換えることができる.
Mediaフォーマッタ:作成後にグローバルに登録し、acceptのMIMEタイプをシーケンス化することができる.
Rest fullスタイル: GET/tickets#取得ticketリスト GET/tickets/12#特定のticket を表示
POST/tickets#新規ticket PUT/tickets/12#ticket 12を更新. DELETE/tickets/12#ticekt 12 を削除
POCOの素朴な古いCLRオブジェクトは、ビジネスエンティティクラスモデルを代表し、ビジネスに専念するためにデータベース構造を必要としない.
repositoryモード:リポジトリ、倉庫データベースアクセスモード、持続化応用業務モデルを担当し、一対一、集約ルート、汎用型一対多がある.
参照タイプ:==参照equals値 mvc防御csrf:@htmlを使用する.antiforgerytoken()を選択し、メソッドにタグを付けます. jQuery.Mobile.MVC nugetは携帯電話版を開発し、bundles を修正した.
携帯版:action.mobile.cshtml形式 _ViewSwitcherの一部のビューは、携帯電話版とパソコン版でに切り替えることができます.
viewport設定画面回転幅問題 51 degreesは、設定エネルギーを強化するために使用される.
AsyncController非同期コントローラルーティング順序重要非同期操作は主にI/Oバインド操作(例えばデータベースアクセスやリモートサービス呼び出しなど)に用いられ、2つの方法で非同期を実現する.
*Async/*Completed public Task<*> M(){ return } AsyncManager.OutstandingOperations.Decrement();
WebSocket SignalR:ハブと永続接続サービス・エンド・キャッシュ()
要求ドメインのキャッシュHttpContext.Items Session(外部保存可能)アプリケーションはIISによってアプリケーションレベルを管理し、プロセスにまたがることができる.
System.Web.Cache(キャッシュ依存ポリシー) http://www.cnblogs.com/kissdodog/archive/2013/05/07/3064895.html クライアントキャッシュ MVCタグ可能outputCacheAttribute属性実装HTMLページキャッシュキャッシュ時間、場所(ブラウザorサービス側)を構成することができる.
VaryByParam属性は当?パラメータ有効 Profilesをwebで使用することができる.configでの構成 thisは拡張stringクラスpublic static int WordCount(this String str)を表します.
:WriteSubstitution
MvcDonutCachingNuGet
web ,web
AppFabric、Memcached、Redis
HTML5 :appcache,js
Yslow web
Url 、 、
MVC {p1}-{p2}-{p3}, string
{controller}/{action}/{*queryValues},
aspx allaspx:routes.IgnoreRoute("{*allaspx}",new {allaspx=@".*\.aspx(/.*)?"});
Glimpse
Razor
RenderAction()
, [HandleError(ExceptionType=typeof(System.Data.DataException),View="DatabaseError")]
onException()
ASP.NET
( )【 、 、 、 】
( )
( )
(TDD) - -
TestInitialize()
Moq framework
WatiN
100 70
Microsoft MSBuild TeamFoundation Server
Martin Fowler :1. 2.UML 3. 4. 5.Nosql
Windows Azure
NuGet https://npe.codeplex.com/releases/clickOnce/NuGetPackageExplorer.application
http://kb.cnblogs.com/page/143191/
https://www.nuget.org/account/Packages
http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html