IISでの最適化

Operationログを出力する際に、StackTraceを使っているのだけれど、LocalIISとIISで出力される内容が違って困っていたところ、原因判明。 要はJIT 最適化により呼び出し元メソッドがインライン化されている箇所があったってこと。
このサイトにお世話になりました。http://csharper.blog57.fc2.com/blog-entry-234.html

ILレベルでreqsecobj キーワードが付加されているとスタックトレースが保持されるのを利用して、メソッドに、「DynamicSecurityMethod」キーワードを付加する。それには、同名のクラスを自前で用意する。そうすると C# コンパイラは reqsecobj キーワードを付加してくれる。

なんて素晴らしい!!大変勉強になりました。