k_maruの思うところ RSSフィード

2008/03/20 ごろごろごろごろ

[][] WCF の .svc はハンドラマッピングの追加が必要

表題の件、こんなので 1 時間くらいハマっていしまいました・・・。

ADO.NET Data Services を使ってたんですが、開発完了して IIS にデプロイしたら動かない・・。なんで!?と思いながらもう一回動かしても動かない・・・。開発環境で動かすと動く・・・。こんなのの堂々巡りですよ。うーんうーんって唸りながらなんとなく Web ブラウザで .svc をたたくと 404 Not Found が返ってくるじゃありませんか。なんで!?って感じですよ。ほんまに。まぁ、その場でハンドラマッピングがないことに気づけよって話ですが、頭からすっぽり抜けていたので、またうんうん唸っていたのですが、ふと閃いてハンドラマッピングを書いてあげたところ無事動きました。ちなみに書いたハンドラマッピングは以下。

<add name="SvcHandler" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler" />

開発環境では WebDev.WebServer.EXE が動いてるので、こいつはマッピングがあるのでしょうね。ってことで開発の時も IIS がある環境の場合は IIS で動かすのがお勧めです。

※追記

ハンドラマッピングは system.webServer/handlers の中に書いてあげてください。

dotnetfandotnetfan 2008/03/21 13:08 IISと開発マシンは別でしょうか?
手元のマシンではマシンレベルのweb.configに上記のハンドラの記述がありますが。
IISでもこのweb.configは読み込むはずだけどなぁ。

dotnetfandotnetfan 2008/03/21 16:34 IISは7?
7になってそのあたりの設定箇所が変わったのかな?
ASP.NETのdeploy用のツールが提供されはじまってますが、もしかするとそのあたりをサポートする必要もあってこれが提供されてきてるのかも。。。
http://www.chica2.dev-asp.net/ScottGu/result2.aspx?target=VS+2008+Web+%e3%83%87%e3%83%97%e3%83%ad%e3%82%a4%e3%83%a1%e3%83%b3%e3%83%88+%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88+%e3%82%b5%e3%83%9d%e3%83%bc%e3%83%88%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%be%e3%81%97%e3%81%9f%e3%80%82

arc_at_dmzarc_at_dmz 2009/09/15 23:07 今更ながら、私の環境の場合 http://knitinr.blogspot.com/2009/01/wcf-services-on-iis-7.html に従ってServiceModelReg.exe -iを実行したら直りました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証