掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2011年11月19日
WCFサービス起動トラブルメモ
「10 行でズバリ!! サービスの起動の自動化 (WCF の IIS ホスティング) (VB)http://code.msdn.microsoft.com/10-WCF-IIS-VB-cc1f5a62/」のサンプルを作成してところ、途中で躓きましたのでメモしておきます。

開発環境:Windows 7 Ultimate、Visual Studio 2010 Professional SP1、IIS7.5(多分)

工程「5. アプリケーションを IIS に配置する」にて、以下のようなエラーメッセージが表示される。
HTTP エラー 500.19 - Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー コード 0x80070021

ネットで調べたところ、解決策を紹介しているサイトがあったので紹介。
developerHobbies
IIS 7.0 on Vistaでサーバーエラー
http://developer-hobbies.blogspot.com/2008/05/iis-70-on-vista.html

これを試したあと、今度は別のエラーが発生。
HTTP エラー 404.3 - Not Found
拡張構成により、要求しているページは使用できません。ページがスクリプトの場合は、ハンドラを追加します。ファイルをダウンロードする場合は、MIME マップを追加します。

さらにネットで調べたところ、解決策を紹介しているサイトがあったので紹介。
k_maruの思うところ
■[技術メモ][.NET] WCF の .svc はハンドラマッピングの追加が必要
http://d.hatena.ne.jp/k_maru/20080320/1206003679

これを試したあと、今度は別のエラーが発生。
HTTP エラー 500.21
ハンドラー "***" のモジュール リストにあるモジュール "ManagedPipelineHandler" が正しくありません

さらにネットで調べたところ、解決策を紹介しているサイトがあったので紹介。
OakTree
ASP.NET 4.0を動かす
http://blog.kassyi.com/2010/07/aspnet-40.html

そしてついに動いた!
wcfservice

デバッグは簡単にできるけど、サービス稼動させるのは結構面倒だね・・・

以下、具体的に行った作業。
HTTP エラー 500.19 - Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー コード 0x80070021

1.applicationHost.configを修正
※注意:applicationHost.configファイルは直接編集しようとすると「ファイルが見つかりません」といわれますので、いったん他の場所(デスクトップなど)にコピーしてから作業してください。
作業完了後、%windir%\system32\inetsrv\config に移動して上書きしてください。

%windir%\system32\inetsrv\config にある、applicationHost.config 開き、以下の2つを許可に変更。


【修正前】
・・・(略)・・・
<section name="handlers" overrideModeDefault="Deny" />
・・・(略)・・・
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
・・・(略)・・・

【修正後】
・・・(略)・・・
<!--<section name="handlers" overrideModeDefault="Deny" />-->
<section name="handlers" overrideModeDefault="Allow" />
・・・(略)・・・
<!--<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />-->
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
・・・(略)・・・


HTTP エラー 404.3 - Not Found
拡張構成により、要求しているページは使用できません。ページがスクリプトの場合は、ハンドラを追加します。ファイルをダウンロードする場合は、MIME マップを追加します。

2.Webconfigにイベントハンドを追加
WCFサービスのプロジェクトにあるWeb.configファイルを以下のように修正。


【修正前】
・・・(略)・・・
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
・・・(略)・・・

【修正後】
・・・(略)・・・
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<!--svc はハンドラマッピングの追加が必要-->
<handlers>
<add name="SvcHandler" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler" />
</handlers>
</system.webServer>
・・・(略)・・・


ここで何かエラーがでと思いますが、失念。

3.IISにASP.NETをインストール
「アプリケーションのアンインストールと変更」から、「Windowsの機能の有効化または無効化」を開き、ASP.NETを追加する。
IIS ASP.NET


HTTP エラー 500.21
ハンドラー "***" のモジュール リストにあるモジュール "ManagedPipelineHandler" が正しくありません

4.ASP.NET4をインストール
コマンドプロンプトを管理者として実行し、以下のコマンドを入力してインストールします。
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

以上。
[ 投稿者:mk3008 at 23:29 | WEBアプリケーション | コメント(1) | トラックバック(0) ]

この記事へのコメント
ありがとうございます。
ありがとうございます。
こんなの、エラーメッセージだけみても
解決できません。。
投稿者: Melody at 2015-06-12 19:11:03

この記事へのトラックバック

この記事へのトラックバックURL
http://shinshu.fm/MHz/88.44/a13593/0000375504.trackback

この記事の固定URL
http://shinshu.fm/MHz/88.44/archives/0000375504.html

記事へのコメント
 
簡単演算認証: 1 x 9 + 5 =
計算の答えを半角英数字で入力して下さい。
名前: [必須]
URL/Email:
タイトル:
コメント:
※記事・コメントなどの削除要請はこちら