ASP.NETでHTTP Error 500.21が表示された時の対応

ひょんなことからASPを自作したのですが、開発PCのMicrosoft Visual Web Developer 2010では正常に動作するのに、Windows Server 2012のIISで動作させた時だけ、初回アクセス時に以下のエラーが表示されるようになりました。

HTTP エラー 500.21 - Internal Server Error
ハンドラー "PageHandlerFactory-Integrated-4.0" のモジュール リストにあるモジュール "ManagedPipelineHandler" が正しくありません
ASP_NET_IIS_HTTP_500_21_Error_1

2回目にアクセスしたときは正常に動作するので、サーバのタスクスケジューラーで15分おきに該当URLにアクセスして、ユーザ影響がないようにしようかと考えておりました。
ネット上で検索すると、下記コマンドを実行して.NET Frameworkを修復しろと書いてあります。

■32bit OSの場合
%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –i

■64bit OSの場合
%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i

ただし、上記コマンドはWindows Server 2008 R2までで、Windows 2012以降はサポートされていないもののようです。

困り果てて色々設定を変えていたところ、アプリケーションプールの「マネージパイプラインモード」を「統合」から「クラシック」に変更すると、初回アクセスもスムーズに動作するようになりました。
ASP_NET_IIS_HTTP_500_21_Error_2

なんてことない、開発者がへぼいせいで残念な結果でした。

Windows版のMySQLバックアップとリストアについて

まずはバックアップから。mysqldumpコマンドで取得できます。
環境パスにMySQLのディレクトリを追加していない場合は「cd C:\mysql\bin」などbinフォルダに移動してください。

mysqldump -u ユーザ名 -p パスワード -h ホスト名 [データベース名] [テーブル名] [オプション] > バックアップ先

データベース名が「wordpress」というものを取得する場合は次のような文字列を実行します。
mysqldump -u root -p --default-character-set=binary --compatible=ansi wordpress > "C:\backup.sql"

リストアはmysqlコマンドで行います。

mysql -uユーザ名 -pパスワード [データベース名] [テーブル名] < バックアップファイル名

データベース名が「wordpress」というものを復元する場合は、次の文字列を実行します。
mysql -u root -p wordpress < "C:\backup.sql"

 

Apple iOS 8.1.2提供開始/着信音の不具合修正

Apple iOS 8.1.2提供開始/着信音の不具合修正

Appleが2014年12月10日より、iOSの最新バージョン「iOS 8.1.2」を提供開始したようです。内容としては、バグの修正が行なわれる点と、iTunes Storeで購入した着信音がデバイスから削除される問題が解決されるとか。

削除された着信音の復元をしたい場合、iPhineやiPadなどのiOSデバイスから、 itunes.com/restore-tones にアクセスするとよいようです。iOS 8.1.2へアップデートできる対応デバイスは、iPhone 4S以降とiPad 2以降、iPad mini以降、第5世代iPod touchです。

バグ修正が主なので、基本的には適用していた方がよさそう。
みなさんアップデートしておきましょう!