このウェブサイトは販売用です! expressweb.jp は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、expressweb.jpが全てとなります。あなたがお探しの内容が見つかることを願っています!
前回紹介したCode Contract、動的なコントラクトの一部をご紹介しましたが他にも「インターフェースに対してコントラクトを設定する」とか、付加情報をもっと付けるとか、色々あります。また、動的な解析以外にも [静的な解析] および、[doc出力機能] が備わっています。これらをさらっと見ておきます。 1.静的な解析 これはCodeContractをインストールした上で、プロジェクトのプロパティから[Code Contracts]を選択し、Static Checkingにチェックを付けます。 コントラクトが静的に守られているかをチェックしてくれるものです。例えば、public APIのXMLドキュメントが用意されていなかったら、 こんな感じでWarningが出てきます(アウトプットウィンドウにも)。無効化したい場合は namespace CodeContractSample { usin
正しさは相対的な概念である。 Bertrand Meyer [1] Bertrand Meyer氏は「契約による設計」という概念から例外を導出し、例外の必要性をエレガントに説明しています。また、彼の説明に則れば今までの議論と比べて例外をいくぶんか形式的に扱えるようになります。契約による設計を学ぶ前に、プログラムの正しさについてもう一度考えてみましょう。 プログラムの正しさ あるプログラムが正しいかどうかを判定するにはどのようにすれば良いでしょうか。最も簡単な方法は、あるプログラムの正しさを形式的に定義する事です。より直接的に言えば、あるプログラムの正しさを簡単な論理式で表現します。その論理式が真ならばそのプログラムは正しい。偽ならばそのプログラムは正しくありません。 これだけだと関数の戻り値を検査すれば良いだけのようにも聞こえます。しかし、そう簡単な話ではありません。純粋でない言語の場合、
Code Contracts are static library methods used from any .NET program to specify the code’s behavior. Runtime checking and static checking tools are both provided for taking advantage of contracts. NewsWe have released the sources on GitHub: http://github.com/CodeContractsDotNet/CodeContracts Francesco's blog on CodeContracts has some answers to FAQs, tricks, documentation, news, etc., primarily fo
(Last Updated On: 2019年5月29日)少し設計よりの話を書くとそれに関連する話を書きたくなったので出力の話は後日書きます。 契約による設計(契約プログラミング)(Design by Contract – DbC)は優れた設計・プログラミング手法です。契約による設計と信頼境界線について解説します。 契約プログラミングとは 契約プログラミングは比較的新しい設計思想で、サポートしている言語にはEffile、D、Clojure、Valaなどがあります。最近作られた言語の多くが契約プログラミングをサポートする機能を持っています。C++、C#やJavaなどでも契約プログラミングをサポートするライブラリが利用できます。契約プログラミングをサポートする言語やライブラリを利用しない場合でも、契約プログラミングの概念を適用すると安全かつ効率が良い開発の手助けになります。 Wikipdiaの
5. 何か動かないよ? よくあるnullチェックをしてみようと思った Contract.Requiresは事前条件 引数がnullだったら契約違反という感じにしたい static void Hoge(string arg) { Contract.Requires(arg != null); } が、実行しても無反応 Conditional属性がついているのでコンパル時に 消える(条件付きメソッド、DEBUGとかでお馴染み) 条件はCONTRACTS_FULL(但し自分で足す意味はない) 6. 何か動かないよ? Part2 よくあるnullチェックをしてみようと思った again Contract.Requires<TException>も事前条件 引数がnullだったら契約違反で例外ぶん投げたい static void Hoge(string arg)
オブジェクト指向クラス設計原則のSOLIDのL(LSP:リスコフ置換原則)は、一言で言うなら 『サブクラスはスーパークラスと等価に扱えないといけない』 ということ。なんでそれが必要かというと、親クラスと子クラスで同じ関数に対する振る舞いが違うと、ポリモーフィックに扱えなくなり、その結果実行時の型情報(RTTI)を使った処理を書くハメになる、そうすると継承のメリット・必要性が失われるから。 インターフェースも継承も契約なため、静的な型付けをベースとするC#に「契約プログラミングは」は適していると思います。それが.NET4.0から標準に近い形で組込まれていたことを知りましたのでご紹介。 Code Contract for.NETをダウンロード & インストール。 インストールはNext/Accept連打でOKです。これをインストールするとVisualStudioのプロジェクトのプロパティに [
ASP.NET MVCでのファイルのアップロードは、モデルバインダが対応している以外のサポートは無いようです。バインドする型としてHttpPostedFileWrapperクラスを指定するとそれがアップロードされたファイルの受け皿になります。 @using (Html.BeginForm("UploadFile", null, FormMethod.Post, new { enctype="multipart/form-data" })) { @Html.AntiForgeryToken() <input type="file" name="postedFile" /> <input type="submit" value="アップロード" /> } [HttpPost] [ValidateAntiForgeryToken] public ActionResult UploadFile(H
この記事は ASP.NET Advent Calendar 2014 - Qiita の 11 日目の記事です。なんか空いてたので登録してみました。昨日は KatsuYuzu さんの ASP.NET の customErrors、IISの httpErrors #aspnetjp - KatsuYuzuのブログ でした。明日もまだ空いているようなのでネタのある方はいかがでしょうか。 ActionFilter について ActionFilter とは ASP.NET MVC で提供されている Attribute *1のひとつである、 System.Web.Mvc.ActionFilterAttribute のことです。 ActionFilterAttribute Class (System.Web.Mvc) | Microsoft Docs 開発者はこの ActionFilterAttrib
フィルタって? ASP.NET MVCでは、「System.Web.Mvc.Controllerクラスを継承した自作コントローラークラス」がロジックの中核を担います。以下の例はデフォルト生成されたコントロールクラスです。 public class HomeController : Controller { public ActionResult Index(string comment) { ViewData["Message"] = "Hello World的な何か"; return View(); } (中略) } この例では、単純に"<ドメイン名>/Home/"にアクセスした場合にViewDataにデータをつめて返すだけの処理を実装しています。このアクション実行前後に汎用的な処理を行いたい場合、ASP.NET MVCの機能であるフィルターを実行する事で実現する事が可能です。Java出
背景 この記事を書いた背景ですが、自分が以下のような状況になったためです ASP.NET WebFormsやってた そろそろASP.NET MVCもやってみよう プロジェクトテンプレートからMVCを選択して作ってみた! F5押して動いた! ・・・でもなんで画面が表示されたの?指定されたURLの場所にはファイルはなさそうだけど。。。 よし、調べてみようと思っても情報がまあたくさんあるので、各種サイト、書籍を参考にしながらとめてみました 同じような状況の人の参考になればと思います また、ASP.NET WebFormsを自分が触っていたのもあり、比較のためにWebFormsの内容を出しておりますが、WebForms自体の説明はないので予めご了承願います 使用したプロジェクトテンプレート 今回確認用に作成したプロジェクトテンプレートは、以下の設定にしております ASP.NET MVC LifeC
ASP.NET(C#)におけるビルドとデプロイ 私たちの会社ではASP.NET MVCという.NET Framework上で動くWebフレームワークを使って開発しています。前回書いたとおり、開発言語にはC#を採用しています。 C#で書いたコードを.NET Framework上で動作させるには、コードをビルドして実行可能なバイナリを生成する必要があります。正確にはCILという中間言語にコンパイルし、CLRと呼ばれる共通言語ランタイムが実行時にネイティブコードにコンパイル(JITコンパイル)しながらプログラムを実行します。ASP.NETの場合、Windows Server上に構築したIISと呼ばれるアプリケーションサーバ上で動かすことが多いですが、その場合もビルドして生成されたバイナリをIISにデプロイします。このとき、C#で書かれたコードは拡張子dllを持つバイナリファイルに変換され、設定フ
Jenkins を使って自動ビルドや自動テストを走らせていたので、デプロイも Jenkins からできるようにしてみました。 ちなみに ASP.NET MVC のプロジェクトにて行いました。おそらく WebForms でも同じようにできると思います。 必要なもの Jenkins で Visual Studio のソリューションやプロジェクトをビルドするには、Jenkins の MSBuild プラグインがあると便利です。Jenkins のプラグインマネージャから簡単にインストールできます。 また、デプロイには MSDeploy を利用しますので、デプロイ先の環境に MSDeploy がインストールされている必要があります。 パッケージの作成 MSDeploy でデプロイするためのパッケージを MSBuild で簡単にパッケージを作ることができます。“ビルド手順の追加” から “Build
本ブログでは ASP.NET MVC についての TIPS を提供しているが、ローカルの IIS に対するデプロイは殆ど記述していないため、備忘録をかねて記載する。利用した環境は以下となるので、こちらをもとに ASP.NET MVC4 アプリケーションのデプロイを行う。 Windows 7 Ultimate 32bit IIS 7.5 ASP.NET MVC4 ローカル IIS の確認 ファイル名を指定して実行 に「inetmgr」を入力して IISマネージャを起動する。こちらの画面左側のツリービューを展開し、既存のサイトを確認する。何も設定を変更していないければ「Default Web Site」となっているはずだ。当該サイトに対して、MVC4 のアプリケーションをデプロイする。 ASP.NET MVC4 アプリの作成 Visual Studio を管理者権限で立ち上げ、 ASP.NET
ASP.NETでアプリケーションデータのキャッシュについて少し試してみました。 アプリケーション データのキャッシュ 例として、App_Dataフォルダ内にあるSample.txtの内容をキャッシュするコードを書いてみました。たいしたサンプルでありませんが、せっかくなので残しておきます。 public class HomeController : Controller { public ActionResult Index() { var cache = HttpContext.Cache; var key = "key"; if(cache[key] == null) { var path = Server.MapPath("~/App_Data/Sample.txt"); var text = System.IO.File.ReadAllText(path); cache.Insert
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く