ASP.NET
これはOne ASP.NET Advent Calendar 2012の18日目の記事です。 昨日は、karuakunさんでASP.NET 4 WebFormでモバイルサイトを作成する場合のスクリプト結合でした。 はじめに ASP.NET Web APIにはSelf-Hostと呼ばれる機能があります。IISがなくても動くという…
ステートレスなビジネスロジックが一覧データと件数を同時に返すとき 件数を一時的に保持してObjectDataSourceに渡せるようにビジネスロジックを一時的にラップしてあげるといいかもしれない。 GridViewPage.cs using System.Collections.Generic; using Sys…
Update: How and When to Encode for the Web次のメソッドのちがいを解説。 HtmlEncode HtmlAttributeEncode UrlEncode JavaScriptStringEncode MSDNのAPIドキュメントよりもわかりやすいです。
IIS7.5のアプリケーションプールのデフォルトのユーザーIDであるApplicationPoolIdentityでそのまま出力できました。最初、FileのtargetにfileName="~/App_Data/app.log"と指定していてうまくいかないなぁと思っていたのですが、fileName="${basedir}/App_Da…
リモートの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のリダイレクトスコープのようなものがあると便利かと思って考えてみました。要するに、リダイレクトする直前でセッションに情報を置いて、リダイレクト後のGETでその情報をセッションから取得するという機能です。そんなかんじの機能をつくっ…
下のエントリですが、よく考えると属性を指定したPageのプロパティに自動で値をセットしたりプロパティから値を取得したりというのは、ASP.NETのプログラミングモデルにそぐわないですね。自分で明示的にGET/SETしたほうが一貫性があってわかりやすいかも。 …
一番小さいスコープから一番大きいスコープまでを自動でたどっていくのって、誤って間違ったデータを取得してしまう可能性が高いと思うのです。だから、探すスコープ(状態)とその順番を指定できるといいのかもしれない。 たとえば次のようなクラスを用意し…
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のバージョンの取得方法、どれを参照するのがただしいんですかねぇ。 .NET 4.0がインストールされたWindows7の環境でIIS7.5のアプリケーションプールに「.NET Framework v2.0.50727」を指定して次のコードを動かしてみました。 protected void Page_L…
http://duartes.org/gustavo/articles/Asp.net-Runtime-Cheat-Sheet-HttpRequest-HttpRuntime.aspx どのAPIでどんな値がとれるかがわかりやすく記されています。リンク先のページ自体がそれらのAPIを使って生成されソースコードも公開しているので参考になり…
HttpModule好きなんですが、JavaのServlet Filterのように設定でパラメータを渡せないのが残念なところです。そこで、Web.configにパラメータを設定をすればHttpModuleのプロパティに自動で設定される仕組みを考えてみました。 例えば、Web.configに以下の感…
ASP.NETのサイトマップのセキュリティトリミングという機能をはじめて知りました。 認可されないユーザーに対して特定のメニューを表示させないというもののようです。 ASP.NET のサイト マップ セキュリティ トリミング SiteMapProviderもRoleProviderも拡…
ObjectDataSourceはデフォルトではTypeNameプロパティに設定されたクラスを自分でインスタンス化しようとします。そうすると、MEFでImportしたコンポーネントを使えないのでObjectCreatingイベントでインスタンスを適切に設定する必要があります。 GridViewP…