Azureはじめました

Windows Azureで業務システムを組んでみる日記

MVC4

RFC違反のEmailAddressを許容するEmailAddressAttributeを作る

.Netが標準で用意しているEmailAddressAttribute(System.ComponentModel.DataAnnotations)で本来は必要十分なんだが、Docomoやauの過去の遺産であるRFC違反アドレスは今もまだ使用されており、ひょんなことからコイツが現れてエラーを巻き起こす。 NTTドコモ…

jquery.validate.unobtrusiveでタブなどに隠れたフィールドの評価がされない

なんてこった。 In the new version of jQuery validation plugin 1.9 by default validation of hidden fields ignored. I'm using CKEditor for textarea input field and it hides the field and replace it with iframe. The field is there, but valida…

非同期アクション用のスニペット

VSで使えるMVCの非同期アクション用のスニペット。 コードスニペットマネージャーでインポートして使える。

@Html.DropdownListがSelectedを消してしまう

しかも"たまに" (# ゚Д゚)ふぁーーっく!!! こんな状況 //---model--- public class StayType{ public int id{get;set;} public string name{get;set;} } public class Reserve{ [いろいろ] public ICollection<ReserveItem> items{get;set;} } public class ReserveItem{ [</reserveitem>…

Controller/Viewのスキャフォールディング中にエラー

これで何をわかれと言うのか(# ゚Д゚)

RedisCacheに非同期でアクセスしようとするとハングアップしてしまう

それなりに大規模なミッションでボトルネックになるデータベースを保護するためにキャッシュ機構を作る必要に迫られて、ならばとAzure Redis Cacheを使ってみた。 Redis Session State Providerは普通に動くし動作も快適。単純なテストでRedisに読み書きする…

列挙型からSelectListItemを生成とか

列挙型プロパティのEditとかでDropdownを使いたいけどSelectListItemを毎回作るコードを書くのは面倒なのでユーティリティ化 public static class ViewHelper { public static IEnumerable<SelectListItem> toList<T>() where T : struct, IConvertible { if (!typeof(T).IsEnum</t></selectlistitem>…

MaxRequestLengthを設定するとInternalServerErrorでIISが起動できない

でかいサイズの画像アップロードを作ってて、RequestLengthOverが出たのでWeb.configの設定を POSTされるアップロードの上限を設定するには、Web.configのhttpRuntime要素のmaxrequestlength属性に値を設定する。 なにも設定しない場合は、デフォルトのサイ…

BootstrapのGlyphIconを使うとwoffファイルで404がモリモリ出る話

In my case I was getting a 404 for glyphicons-halflings-regular.woff, and non visible glyphicons on mobile browsers.I finally fixed it adding the MIME type on IIS: .woff application/x-woff Edit: Looks like there is some confusion about the…

BootstrapのGlyphIconを使うとリモートでアイコンが出ないという話

MVCでNuGet使ってBootstrapインストールするとこんな感じにCSSとフォントが配置される。んで、CSSのロードをBundleConfigあたりでこんな感じに private static void RegisterStyleBundles(BundleCollection bundles) { bundles.Add(new StyleBundle("~/css")…

ロギングとか

MVC4でさくさくサービスを書いてるんだが、どうしてもちょっとしたミスで例外が出てたりしてその原因究明に追われたりするのはご愛嬌みたいなもんで。しかし、いつまでもこんな状況なのも大変アレなのでまずはUnhandledExceptionを捕まえてログにきちんと吐…

WebAPIの認証についてあれこれ

WebAPIで一部のデータをデスクトップアプリに公開しようとしてるんだが、ApiControllerにAuthorize属性を付けて [Authorize] public class MyApiController:ApiController{ public IEnumerable<string> Get(){ return new string[]{"hoge","huga"}; } } みたいにする</string>…

Find EditorTemplateがクッソ遅い

(;゙゚'ω゚') 9割以上テンプレート検索…

ユーザーのアクティビティをAuthorizeアノテーションと同様にチェックする

MVC4のAuthorizedAttributeは [Authorize] public class HomeController : Controller { [Authorize(Role="Administrators") public ActionResult Index() { みたいな感じのアノテーションを追加するだけで、チェックとリダイレクトができちゃうので非常にあ…

Razorで列挙型のプロパティにRadioボタンを割り当てる

EFのエンティティに列挙型プロパティを設定したとき、Scafoldingでは単純にそのプロパティが無視されるだけになるので、ここにRadioButtonを割り当てることはできんもんか。 public enum UserState{ Active, Suspend, Inactive, Banned, } public class User…

asp.net MVC4 + Razorでインターフェースを作ってみる

とはいえ asp.net MVCも初めてなのでチュートリアルで流しながら構造を見てみる。 SQL データベースを使用した .NET Web サイト - Windows Azure チュートリアル チュートリアルに従うだけなので流れは割愛して軽くファーストインプレッション。