ASP.NET

ASP.NET Web APIのSelf-Hostでテスト

これはOne ASP.NET Advent Calendar 2012の18日目の記事です。 昨日は、karuakunさんでASP.NET 4 WebFormでモバイルサイトを作成する場合のスクリプト結合でした。 はじめに ASP.NET Web APIにはSelf-Hostと呼ばれる機能があります。IISがなくても動くという…

ObjectDataSourceを使ったページング

ステートレスなビジネスロジックが一覧データと件数を同時に返すとき 件数を一時的に保持してObjectDataSourceに渡せるようにビジネスロジックを一時的にラップしてあげるといいかもしれない。 GridViewPage.cs using System.Collections.Generic; using Sys…

HttpUtilityのエンコードいろいろ

Update: How and When to Encode for the Web次のメソッドのちがいを解説。 HtmlEncode HtmlAttributeEncode UrlEncode JavaScriptStringEncode MSDNのAPIドキュメントよりもわかりやすいです。

App_Dataディレクトリ以下に配置されたファイルへのNLogを使ったログ出力

IIS7.5のアプリケーションプールのデフォルトのユーザーIDであるApplicationPoolIdentityでそのまま出力できました。最初、FileのtargetにfileName="~/App_Data/app.log"と指定していてうまくいかないなぁと思っていたのですが、fileName="${basedir}/App_Da…

ApplicationPoolIdentityについてメモ

リモートのSQL ServerへのWindows認証を稼動確認したい。 Thread: ApplicationPoolIdentity + SQL http://forums.iis.net/p/1162459/1924222.aspx Application Pool Identities http://learn.iis.net/page.aspx/624/application-pool-identities/ Ensure Sec…

ASP.NETでTeedaのリダイレクトスコープのようなものを実装する

ASP.NETでTeedaのリダイレクトスコープのようなものがあると便利かと思って考えてみました。要するに、リダイレクトする直前でセッションに情報を置いて、リダイレクト後のGETでその情報をセッションから取得するという機能です。そんなかんじの機能をつくっ…

ASP.NETでTeedaのリダイレクトスコープのようなもの その2

下のエントリですが、よく考えると属性を指定したPageのプロパティに自動で値をセットしたりプロパティから値を取得したりというのは、ASP.NETのプログラミングモデルにそぐわないですね。自分で明示的にGET/SETしたほうが一貫性があってわかりやすいかも。 …

いくつかのスコープ(状態)を検索対象にして値を得る

一番小さいスコープから一番大きいスコープまでを自動でたどっていくのって、誤って間違ったデータを取得してしまう可能性が高いと思うのです。だから、探すスコープ(状態)とその順番を指定できるといいのかもしれない。 たとえば次のようなクラスを用意し…

Server.TransferしたあとはASP.NETのトレース出力がされない

ASP.NETトレースの機能、便利なんですがServer.Transferしたあとは出力されないことに気づきました。 どういうことかというと、 Web.config <system.web> <trace enabled="true"/> ... </system.web> 最初にアクセスするページ public partial class Default : System.Web.UI.Page { protected void Page_Load…

ASP.NETの実行時のバージョン

ASP.NETのバージョンの取得方法、どれを参照するのがただしいんですかねぇ。 .NET 4.0がインストールされたWindows7の環境でIIS7.5のアプリケーションプールに「.NET Framework v2.0.50727」を指定して次のコードを動かしてみました。 protected void Page_L…

ASP.NET Runtime Cheat Sheet: HttpRequest, HttpRuntime, AppDomain and friendsへのリンク

http://duartes.org/gustavo/articles/Asp.net-Runtime-Cheat-Sheet-HttpRequest-HttpRuntime.aspx どのAPIでどんな値がとれるかがわかりやすく記されています。リンク先のページ自体がそれらのAPIを使って生成されソースコードも公開しているので参考になり…

HttpModuleにパラメータを渡す方法

HttpModule好きなんですが、JavaのServlet Filterのように設定でパラメータを渡せないのが残念なところです。そこで、Web.configにパラメータを設定をすればHttpModuleのプロパティに自動で設定される仕組みを考えてみました。 例えば、Web.configに以下の感…

サイトマップのセキュリティトリミング

ASP.NETのサイトマップのセキュリティトリミングという機能をはじめて知りました。 認可されないユーザーに対して特定のメニューを表示させないというもののようです。 ASP.NET のサイト マップ セキュリティ トリミング SiteMapProviderもRoleProviderも拡…

GridViewのページングでMEFでImportしたコンポーネントを使う

ObjectDataSourceはデフォルトではTypeNameプロパティに設定されたクラスを自分でインスタンス化しようとします。そうすると、MEFでImportしたコンポーネントを使えないのでObjectCreatingイベントでインスタンスを適切に設定する必要があります。 GridViewP…