しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

ASP.NET

ASP.NET MVC 5 で追加された属性ベースのルーティングを使ってモデルバインダ絡みのエラーを回避する

ASP.NET MVC を利用した開発を行っている人は、下のエラー画面を 1 度は見たことがあるかと思います。MVC では URL ルーティングで定義されたパラメータやクエリ文字列を、モデルバインダが適切な型へ変換してアクションの引数へバインドする仕組みになって…

ASP.NET MVC 5.2 で Facebook アプリテンプレートが使えない問題と対応法

Visual Studio 2013 Update 1 でも ASP.NET プロジェクトを作成する時に、Facebook を選択すると Facebook アプリのテンプレートが作られます。しかし、このテンプレートに対して MVC 5.2 などにアップデートしようとすると、Microsoft.AspNet.Mvc.Facebook …

ASP.NET Web Pages 3.2.1 のベータ版がリリースされました

最近は ASP.NET MVC 5.2 / Web API 2.2 / Web Pages 3.2 がリリースされました - しばやん雑記 でも書いたように Web Pages の更新がほぼ無いので、このまま vNext に進むのかと思っていたら 3.2.1 のベータで久しぶりに大きなアップデートが行われたみたい…

ASP.NET と IIS の HTTP エラー処理を理解する

以下のような ASP.NET アプリケーションのエラー画面を見たことない人は、ASP.NET 開発者にはいないと思います。この画面を本番環境では出すわけに行かないので普通はカスタマイズしますよね。しかし、ASP.NET では 404 をアプリケーション的に返しているの…

ASP.NET MVC 5.2 / Web API 2.2 / Web Pages 3.2 がリリースされました

個人的には ASP.NET vNext のほうが気になって仕方ないですが、ひっそりと ASP.NET MVC 5.2 や Web API 2.2 がリリースされてました。NuGet Gallery | Microsoft ASP.NET MVC 5.2.0 NuGet Gallery | Microsoft ASP.NET Web API 2.2 5.2.0 NuGet Gallery | Mi…

Knockout.js と ASP.NET MVC の組み合わせ時にモデルバインディングが腐る件

今日も Knockout.js を使って ASP.NET MVC に POST するようなコードを書いていたのですが、モデルバインダが意図したとおりに値をバインドしてくれない時がありました。まずは ASP.NET MVC 側のコードを見ていきましょう。難しいことはしてません。 public …

ASP.NET MVC でページャーやパンくずリストを作るときには部分ビューなどを使うと便利

Twitter で酢酸先生が ASP.NET MVC でのビューの使い回しについて悩んでいたので、久しぶりに ASP.NET についてブログを書きます。しばやんサイトに無限クロールして地獄を味合わせるか…。あ、asp,net mvcで複数のページの任意の場所にカスタムコントロール…

ASP.NET MVC 5.1.2、Katana 3.0.0-beta1、Helios 1.0.0-alpha1 などがリリースされていました

タイトルからわかるように過去形です。気が付いていたけど書いていなかった、もしくは完全に気が付いていなかった内容が含まれています。Microsoft Azure が楽しすぎるのが悪いということにしてください。それではまとめます。 ASP.NET MVC 5.1.2 / Web Page…

Build 2014 と Windows Azure SDK 2.3 の話

Build 2014 の 2 日目が Azure の日だったので @kamebuchi こと抱かれたい男 No.1 がいつも通りまとめてくれています。概要をサクッと知りたい場合はこれで問題無いでしょう。//build/ 2014 Day 2 Keynote (Azure成分多め) « ブチザッキ既に Channel 9 では…

ASP.NET 関係で最近アップデートが行われたパッケージまとめ

最近は Windows Azure Web サイトばかり弄っていたので ASP.NET 周りが疎かになってました。先日 ASP.NET MVC のマイナーアップデートが行われていたことに気が付かなかったのがショックだったので、関係しそうなパッケージのアップデートをまとめてみます。…

ASP.NET MVC 5 での新規アプリケーション開発時に便利な設定をまとめてみた

自分が毎回新規で ASP.NET MVC アプリケーションの開発を始めるときに忘れるので、今までブログに書いた分をまとめてみました。ASP.NET MVC 5 と限定してあるのは、5 より前のバージョンではバグ持ちの設定を紹介しているからです。 Razor のみを使う ViewEn…

ASP.NET MVC 5.1 や Web API 2.1 がリリースされました

そのままですが、ASP.NET MVC 5.1 や Web API 2.1 が正式リリースとなりました。Announcing the Release of ASP.NET MVC 5.1, ASP.NET Web API 2.1 and ASP.NET Web Pages 3.1 - .NET Web Development and Tools Blog - Site Home - MSDN BlogsVisual Studio…

ASP.NET MVC で条件付きの検証を行う属性とモデルバインダを実装してみた

昔から ASP.NET MVC の検証を条件付きで実行したいと思っていた人生でした。言葉で説明すると分かりにくいので、ヨドバシのオンラインショップのフォームがサンプルとして都合良かったので拾ってきました。このフォームの場合、チェックの有無で検証の有無も…

ASP.NET 開発者以外にもおススメしたい Microsoft Ajax CDN

Microsoft は Windows Azure などで利用するために、日本国内に CDN のエッジサーバを用意しています。その CDN エッジサーバを利用して jQuery などの有名な JavaScript ライブラリを配信する、Microsoft Ajax CDN というサービスを提供しています。Microso…

Sitecore と ASP.NET MVC 間でデバイスクッキーを連携させてみた

これは Sitecore Advent Calendar 2013 - Adventar の 12 日目の記事です。以前に Sitecore と ASP.NET MVC のハイブリッドなサービスの開発をお手伝いした時に、どうしても Sitecore のデバイスクッキーを ASP.NET MVC と共有化させる必要がありました。デ…

ASP.NET MVC 5.1 や Web API 2.1 のリリース候補版が公開されました

今朝、ASP.NET チームのお偉いさんである Scott Hunter が ASP.NET MVC 5.1 / Web API 2.1 / Web Pages 3.1 のリリース候補版を公開したとツイートしていたので、ちょっと内容を書いてみようと思います。公式のブログでもしっかりと新機能の説明がされている…

ASP.NET でタブレット以外を判別する方法と Display Mode への応用

もう Facebook では 1 年の振り返りが始まっている今日この頃、いかがお過ごしでしょうか。世間では Advent Calendar のタスキ繋ぎが全力で行われていますが、初日でその役目を終えた私はのんびりと過ごしています。とか、書くと本気で本気で刺されそうなの…

OWIN を加速させる IIS と Helios の関係

突如として公開された Helios という謎のライブラリを知っている人はどのくらいいますか?Twitter ではこちらのブログ記事が割とシェアされていたりするんですが、冒頭に書いてある通り MVP Global Summit のセッションで発表されたライブラリです。*1Checki…

ASP.NET MVC に投げた 2 つ目の Pull Request がマージされました

ASP.NET MVC の最近のバージョンには OutputCache と子アクションを組み合わせた時に、OutputCacheLocation の値を適切に見てくれないバグがありました。例えば、グローバルフィルタで OutputCache を以下のように設定します。 // 出力キャッシュを無効化し…

ASP.NET MVC 5.1 の新機能を Nightly Build で試してみた

少し前に Visual Studio 2013 と同時に ASP.NET MVC 5 がリリースされましたが、既に開発チームは ASP.NET MVC 5.1 の開発を進めています。そして aspnetwebstack は MyGet で署名済みの Nightly Build を公開してくれているので、誰でも簡単に試せるように…

ASP.NET 4.5 からルーティングで生成される URL を小文字に出来るというお話

ASP.NET MVC でデフォルトのテンプレートと同じように作ると、その URL は以下のように大文字が含まれるものが生成されてしまいますよね。しかし、SEO 的には URL は小文字で統一して欲しいです。今までは Url.Action や Html.ActionLink などで小文字を指定…

ASP.NET SignalR 2.0 が公開されました

Windows 8.1 や Visual Studio 2013 のリリースと同時に ASP.NET 周りも大幅にアップデートされたのですが、SignalR 2.0 で追加された機能が実に便利そうだったので紹介したくなりました。とりあえず、まずはリリースノートを確認しておきましょう。Release …

ASP.NET MVC に投げた Pull Request がマージされました

DropDownListFor と ViewBag を組み合わせた時の問題 - しばやん雑記ASP.NET MVC / Web API / Web Pages - Source Code

ASP.NET MVC 5 では X-Frame-Options が自動で出力される時がある

タイトルの通り、ASP.NET MVC 5 では X-Frame-Options: SAMEORIGIN が自動で出力される時があります。出力される条件ですが、Html.AntiForgeryToken を使った時になります。AntiForgeryToken は Web Pages の CSRF 対策クラスを使っているので、Web Pages で…

ASP.NET で自動的に発行されるクッキーの名前を変更する方法

今日はちょっとした ASP.NET のクッキーに関する小ネタです。ASP.NET は特別な設定などをしなくても自動的にクッキーを発行して、認証状態やセッション、そして CSRF 対策を行ってくれます。これは非常に便利なんですが、その時に発行されるクッキーの名前が…

Visual Studio で発行時に Razor のプリコンパイルを行う方法

Web サイトとかにデプロイを行う時に利用する Web 発行には、ビューのプリコンパイルを実行する機能があるのですが、これを使えば ASP.NET MVC の Razor ビューもプリコンパイル出来ます。プリコンパイルすると何が嬉しいかという話ですが、初回アクセス時に…

JAZUG 3 周年の LT 大会向けのアプリを作って発表してきた

お前、JAZUG に参加してないだろと言われそうですが、LT 大会でトップバッターかつ、投票用のアプリを作って発表してきました。スライドはこんな感じ。 JAZUG LT アプリを作った話 from Tatsuro Shibamura スロットリングが発生するとか、バグがあって失敗す…

絶対に失敗しない Windows Azure Web サイトマニュアル

タイトルはホッテントリメーカーで作りました。特に意味はありません、多分。ここ数ヶ月は Windows Azure Web サイトを使って開発していたので、その時に気が付いた点・ハマった点をまとめておきます。それ以外にも Web サイトに関係することを総まとめな記…

ASP.NET SignalR 2.0 リリース候補版が公開されました

SignalR 2.0 rc1 release notes https://t.co/Alz4Z6huTP— David Fowler (@davidfowl) August 24, 2013最近は SignalR を全然弄っていなかったですが、ちょっと前に 2.0 RC 1 が NuGet で公開されたようです。NuGet Gallery | Microsoft ASP.NET SignalR 2.0…

ASP.NET MVC の Facebook テンプレートを使って Graph API を便利に使う

ASP.NET MVC の Facebook テンプレートは Facebook SDK for .NET をベースに、色々とアプリを作る上で便利そうな機能*1が実装されています。signed_request のデコードや認証周りを自動でやってくれるんですが、FacebookClient クラスに対する拡張メソッドや…