[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]

-[[戻る>ASP.NET]]

* 目次 [#b1588e10]
#contents

*概要 [#n1389aec]
以下を行なうことでModernizationが可能と考える。

*NuGet化 [#u2fc65e2]
NuGetに登録されているライブラリについては、その取得方法をNuGet化する。

**NuGet [#t96ff136]

**ライブラリのNuGet化 [#ice601d2]
既存の参照設定してNuGetから取得したものを参照するようにする。

-参照設定を削除する。
-PM> Install-Package XXXXX コマンドにより、パッケージをインストールして参照設定を追加する。
-Gitからは、packagesフォルダを削除できる(ビルド時にpackages.configの内容に従って復元されるため)。

**JS、CSSファイル等のNuGet化 [#j5ba45e8]
既存のファイルを削除してNuGetから取得したものを参照するようにする。

-既存のファイルを削除する。
-PM> Install-Package XXXXX コマンドにより、パッケージ(JS、CSSファイル等)を取得する。
-JS、CSSファイルの参照方法を変更する(後述の[[BundleConfig>#b48396de]]を使用すると良い)。
-GitにはScriptやContentフォルダを含める。
--ビルド時にpackages.configの内容に従ってpackagesフォルダは復元されるが、ScriptやContentフォルダは復元されないため。
--ScriptやContentフォルダを復元する場合、Visual Studioのパッケージマネージャコンソールから、Update-Packageを行なう。

*OWIN化 [#m516ea9b]
**[[OWIN]] [#jea128c3]
**[[OWIN化手順]] [#w4fd9095]

*[[ASP.NET の BundleConfig]] [#ic37a72e]
-以下の様なライブラリをBundleする。
-その他、[[ASP.NET Web Forms]] 、 [[ASP.NET MVC]]個別でBundleする。

**Bundle & Minification [#y67baf40]
以下の様なウェブサイトやWebアプリケーションを作成する~
フロントエンドWebアプリケーションフレームワークのファイル群を

Bundle & Minificationする。

***Bootstrap [#o911cc56]
HTML及びCSSベースのデザインテンプレートとして用意されている。

-タイポグラフィ
-フォーム
-ボタン
-ナビゲーション
-その他構成要素
-JavaScript用拡張
-, etc.

***jQuery [#x4cb13d8]
-jQuery
-jQuery UI
-jQuery Validation Plugin

***modernizr [#x515c105]
-ブラウザの機能サポート状況をチェックし、
-HTMLタグにサポート状況を判別できるクラスを付与、
-結果を記録したmodernizrグローバルオブジェクトを生成する。

**CDNフォールバック [#s62820fe]
-著名なフロントエンドWebアプリケーションフレームワークのフィアル群はCDNから配布されている。
-これらのファイル群をBundle & Minificationする場合、同時に、CDNフォールバックの設定をすることができる。

*[[ASP.NET の RouteConfig]] [#k9acbdf0]

*[[ASP.NET Web Forms]] の [[ASP.NET MVC]]個別 [#ib7cd2e2]
以下を参照。
**[[ASP.NET Web Forms の Modernization]] [#s1c7b64d]
**[[ASP.NET MVC の Modernization]] [#u1c0d8ee]

*既定のプロジェクト・テンプレートの調査 [#e4fddd28]

**VS2010 [#ne9d5379]
[[OWIN]]もBundle、Routing、Authenticationテンプレートもサポートされていない。

***[[ASP.NET Web Forms]] [#x12a00b7]
非[[OWIN]]

***[[ASP.NET MVC]] [#ob6f19b8]
非[[OWIN]]

**VS2012 [#jcd3c4f6]
-[[OWIN]]は、まだサポートされていない。
-Bundle、Routing、Authentication(OAuth)テンプレートがサポートされ始めた。

***[[ASP.NET Web Forms]] [#n6268fca]
-非[[OWIN]]

-以下がサポートされた
--BundleConfig
--RouteConfig
--AuthConfig

-モジュール
--Bundleには以下のモジュールが使用されている。
---System.Web.Optimization

--Routingには以下のモジュールが使用されている。
---Microsoft.AspNet.FriendlyUrls

--Authentication(OAuth)には以下のモジュールが使用されている。
---DotNetOpenAuth
---Microsoft.AspNet.Membership
---System.Web.Security.Membership


***[[ASP.NET MVC]] [#f8de12b5]
-[[ASP.NET MVC]] 3
***[[ASP.NET MVC]] 3 [#wcc124f5]

--非[[OWIN]]
-非[[OWIN]]

--Authenticationには以下のモジュールが使用されている。
---OAuthは未サポート
---System.Web.Security.Membership
-Authenticationには以下のモジュールが使用されている。
--OAuthは未サポート
--System.Web.Security.Membership

***[[ASP.NET MVC]] 4 [#i2e7df4a]

-[[ASP.NET MVC]] 4
-非[[OWIN]]

--非[[OWIN]]

-以下がサポートされた
--BundleConfig
--RouteConfig
--AuthConfig

-モジュール
--Bundleには以下のモジュールが使用されている。
---System.Web.Optimization

--Routingには以下のモジュールが使用されている。
---System.Web.Routing

--Authentication(OAuth)には以下のモジュールが使用されている。
---DotNetOpenAuth
---Microsoft.Web.WebPages.OAuth
---Webmatrix.Webdata.Websecurity
---System.Web.Security.Membership

**VS2013 [#rea2d27d]
-[[OWIN]]化対応がなされた。
-様々な認証対応テンプレートも追加された。

***[[ASP.NET Web Forms]] [#n6268fca]
-認証対応テンプレート

--組織アカウントの場合~
恐らくWIFを使用してWS-Federationの認証連携を行う。

--個人アカウントの場合~
---[[OWIN]]ミドルウェアである[[ASP.NET Identity]]を使用するために[[OWIN]]化対応がなされている。
---[[ASP.NET Identity]]によって、外部ログインや、OAuthServer実装もサポートされ始めた。

-[[上記>#n6268fca]]から以下の変更が加えられた。

--認証なし、~
個人アカウント、組織アカウント、Windows認証~
などの認証テンプレートがサポートされた。

--個人アカウントの場合~
Authenticationは以下のモジュールに変更された。
---Microsoft.AspNet.Identity.Core
---Microsoft.AspNet.Identity.Owin
---Microsoft.Owin.Security

***[[ASP.NET MVC]] [#f8de12b5]
***[[ASP.NET MVC]] 4 - 5 [#f8de12b5]
-変更内容は[[ASP.NET Web Forms>#n6268fca]]と同様。

**VS2015 [#h8e67ca1]
[[ASP.NET Core]]がサポートされた。

***.NET Framework [#gee7e68a]
大枠、[[VS2013>#rea2d27d]]と同じ。
-大枠、[[VS2013>#rea2d27d]]と同じ。
-[[ASP.NET Web Forms]], [[ASP.NET MVC]] 5

***[[ASP.NET Core]] [#n563b16a]
[[ASP.NET Core]]用のテンプレートはすべて[[OWIN]]。~
-[[ASP.NET]] 5 & [[ASP.NET MVC]] 6
-[[ASP.NET Core]]用のテンプレートはすべて[[OWIN]]。~
(と言うより、[[ASP.NET Core]]自体が[[OWIN]]互換レイヤーを実装している)

**VS2017 [#d4ecdb36]
・・・

*参考 [#gb31eef8]
**Bundle & Minification [#ef36e93f]
- [ASP.NET Optimization] javascript や cssの Bundle と Minification 機能を使ってみる - Netplanetes~
http://www.pine4.net/Memo/Article/Archives/545

**CDNフォールバック [#xe4f708a]
-効果的なフォールバック戦略の作成方法~
https://msdn.microsoft.com/ja-jp/library/hh273396.aspx

-jQuery, jQueryUI, Bootstrap利用時のCDNフォールバック対応  | auxak blog~
http://blog.auxak.com/cdn-fallback/
- CDNダウン時のjs/cssのフォールバック | odekakeshimasyo.me~
https://odekakeshimasyo.me/web-cdn-fallback.html
- パブリックCDNからのロードに対して、フォールバックを行う - Qiita~
http://qiita.com/jkr_2255/items/6c195a0de5e3ebaf4ac1

----
Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET Web Forms]], [[:OWIN]], [[:NuGet]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS