読者です 読者をやめる 読者になる 読者になる

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 の中に書いてあげてください。