IIS上でRESTfulサービスとして実行したい非常に基本的なWCFサービスがあります。これがサービス契約です。
[ServiceContract]
interface IRestCameraWs
{
[OperationContract]
[WebGet(UriTemplate = "/cameras/{username}",ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped)]
CameraInfo[] GetUserCameras(string username);
[OperationContract]
[WebGet(UriTemplate = "/liveimage/{cameraId}",ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped)]
byte[] GetLiveImage(int cameraId);
//void GetLatestImage(int cameraId, out DateTime timestamp, out byte[] image);
[OperationContract]
[WebGet(UriTemplate = "/latestimage/{cameraId}", ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped)]
string GetLatestImageUrl(int cameraId);
}
このコントラクトを実装するクラスがありStopMotion.Business.WCFService.RestCameraWsます。次に.svc、次のマークアップを使用してWebプロジェクトにファイルを追加しました。
<%@ ServiceHost Service="StopMotion.Business.WCFService.RestCameraWsBase"%>
このサービスURLに移動すると、サービスのホームページとwsdl定義へのリンクが表示されます。しかし、web.configファイルに構成を追加してこのサービスを構成すると、 webHttpBindingIISExpressから次のエラーページが表示されます。

最初に、私は構成に何か問題があると思いました。後で構成を削除し、svcファイルのファクトリを次のように変更しました
<%@ ServiceHost Factory="System.ServiceModel.Activation.WebServiceHostFactory" Service="StopMotion.Business.WCFService.RestCameraWsBase"%>
WebServiceHostFactoryはデフォルトで使用すると言われてwebHttpBindingおり、さらに何かが必要でない限り、これを構成に追加する必要はありません。ただし、ファクトリを変更すると、IISExpressでも同じエラーページが表示されました。
ここで何が起こっているのかアイデアはありますか?