古い非 MVC コードを MVC 4 プロジェクトに統合しています。古いコードには、基本認証の対象となるルートと API サブフォルダーに .SVC 拡張子を持つ WCF サービスがありました。
最初は、(http://mysite/myservice.svc/DoCommand) などのすべての SVC ファイルへの投稿で 404 エラーが発生していました。次に、これを追加しました:
routes.IgnoreRoute("{ allsvc}", new { allsvc = @". svc(/.*)?" });
サイトのルートにある SVC ファイルが呼び出せるようになりました。ただし、API サブフォルダー内の SVC ファイルはこれを返すようになりました。
<Error>
<Message>
No HTTP resource was found that matches the request URI 'http://mysite/API/myservice.svc/DoCommand'.
</Message>
</Error>
DoCommand を含めない場合は、標準の WCF 情報画面が表示されます。
ああ、最後に、これは本番環境でのみ発生します。開発中は、localhost に対して、すべて正常に動作します。
よろしくお願いいたします。ありがとう。