miso_soup3 Blog

主に ASP.NET 関連について書いています。

2013-01-01から1年間の記事一覧

iOS の Push 通知 のサーバー側を ASP.NET Web API で

iOS の Push 通知機能で、サーバー側の処理を ASP.NET Web API で実装してみました。 その手順について書こうと思います。 ※注意 以下は、実装にあたり必要な部分ですがここでは省略しています。 Push 通知の仕組みについて 証明書と鍵の取得と登録 Web API …

ページングされた一覧ページと詳細・編集ページの行き来

ASP.NET MVC で、ページングに対応した一覧ページから、 編集(詳細)ページへ遷移した後、もう一度一覧ページに戻るとき、 表示していた○ページ目へ戻るようにしたい、といった時の 実装方法について書きます。図で表すとこんな感じです。QueryString や セ…

ASP.NET Web API の Route Debugger が凄かった

ASP.NET Web API の Route Debugger を試してみました。 ルーティングがどのように選択されているかを確認したり、 思った通りにアクションメソッドにマッピングできない時の調査に大変役立ちます。元の記事はこちらです。Debugging ASP.NET Web API with Ro…

ASP.NET Web API カスタムエラーメッセージ

以前の記事ASP.NET WEB API エラーの対処についてで、エラー用フィルター属性を使った例外処理について書きました。 今回はそれに続いて、エラー時に返すレスポンスの Body を、カスタマイズする方法です。 エラーの詳細表示を切り替える エラーが起きた時に…

ASP.NET Web API のテスト

ASP.NET Web API ではルーティングが少し特殊なため、(特殊ではなく RESTful に沿っているだけですが)オレオレな API を定義してルーティングをカスタマイズすると、 すぐに ”マッチするアクションメソッドが複数あります”等のエラーが起きます。API なの…

RazorEngine で Html エンコード処理を行わないようにする

この前のcsHtml ファイルを使って RazorEngine の記事にて、 Html 以外で利用する場合、いちいち @Raw と書くのが少し面倒。 と書きましたが、エンコードしないで出力する設定方法がありました。テンプレートで出力する前に、以下の様に設定を行います。 pri…

ASP.NET MVC 半角全角の入力値補正

ASP.NET MVC において、自動的に全角→半角にしたり、 両端のスペースを取り除いてくれるようにしよう!という話です。 アプローチ プロパティ毎にモデルバインダーを切り替えるようにします。 また、モデルは、単純な型でなく、複合型を対象とします。 ざっ…

SQL Server Data Tools で単体テスト

DB の Unit Test も出来る!SQL Server Data Tools December 2012 を公開 SQL Server Data Tools の最新バージョンが 2012 / 12 にリリースされていました。 この最新バージョンでは、Visual Studio 2010 Professional 以上で単体テストができます。というこ…

csHtml ファイルを使って RazorEngine

試してみましたのでメモです。 実行 準備 NuGet で、RazorEngine をインストール後、 テンプレートファイル MessageTemplate.csHtml と、モデル用の MessageModel クラスを用意します。・MessageModel クラス public class MessageModel { public string Nam…

Web API のトレース機能を Azure で

前回、Web API のトレース機能がデフォルトで追加されたことについて書きました。 Web API のヘルプページとトレース機能がデフォルトへ このトレース機能は、Azure に発行したとしても、問題の発見に役に立つことができます。Azure に発行して、WEB API の…

Web API のヘルプページとトレース機能がデフォルトへ

ASP.NET and Web Tools 2012.2 がリリースされました。ASP.NET Web API では、3つの機能―― 1.OData のサポート、2.ヘルプページ生成機能、3.トレース機能 が追加されています。今回はヘルプページとトレース機能、加えて、 Azure で発行した時にトレ…

ASP.NET WEB API QueryStringを使った検索

QueryString でたくさんの検索条件を指定する API の例です。 パラメータを指定しない場合は、初期値を設定したいものとします。 api/persons/? canCook=true & isHungry=false & Name=taro &..... という URL で検索したい場合もあれば、 api/persons/?canC…

ASP.NET WEB API モデルバインド その1 値の取得先

ASP.NET WEB API モデルバインドについてです。 モデルバインディングとは モデルバインディングとは、ApiController のアクションメソッドの引数に定義した パラメータの型(モデル)の値を、リクエストから生成し、メソッドに渡すことです。 ASP.NET MVC …

ADO.NET Entity Data Model でエラー

SQL Server 2005 と ADO.NET Entity Data Model を使った時に、 型 datetime2 を使っていないのに、 「使用されている SQL Server のバージョンでは、データ型 'datetime2' がサポートされていません。」 というエラーがでる件についてメモ。edmx ファイルを…

Hokuriku.NET vol.11, ASP.NET WEB API ヘルプページ補足

2013/01/26(日)に富山で開催された Hokuriku.NET vol.11 に参加してきました。 全国各地、遠いところから足を運んで下さった皆様、 素晴らしいセッションをして頂いたスピーカーの方々、 そしてスタッフの皆様、本当にありがとうございました。ぶりしゃぶも…

ASP.NET WEB API エラーの対処について

ASP.NET WEB API には、エラー用フィルター属性のインターフェイス、 System.Web.Http.Filters.IExceptionFilter が用意されています。これを使えば、(MVC と似たように)アクションメソッド内でエラーが起きた時に、 独自の処理を挟むことができます。 今日…

ASP.NET WEB API ルーティングについていろいろ

ルーティング基本 WEB API において、アクションメソッドへのマッピングの基本は、 HTTP メソッド名から始まるメソッドへマッピングされることです。HTTP POST だったら、POST..から始まるメソッドへ、 HTTP GET だったら、GET...から始まるメソッドへマッピ…

API と MVC でモデル検証の挙動が少し違う

モデル検証の時に入るキーが、WEB API と、MVC と違っていたのでメモです。下のように、とあるモデルを引数としたアクションメソッドを定義し、 そのモデルに検証属性を付けます。 // アクションメソッド [HttpPost] public ActionResult Register(RegisterM…

ASP.NET WEB API でのステータスコードについて

あけましておめでとうございました。今年もよろしくお願いいたします。 〜ASP.NET WEB API はじめました〜 ASP.NET WEB API にて、 どういった時にどんなステータスコードを返すのか、返すべきなのか わからなかったので簡単に調べました。 ASP.NET WEB API …