json 応答を返す wcf rest サービスで問題に直面しています。ローカルの IIS-Web サーバーで Visual Studio 2010 でサービスを実行すると、完全に機能しました。
しかし今、IIS 7.5 を搭載した Windows Server 2008 R2 で同じ web.config を使用して同じサービスを実行しています。
*http://localhost/EchoService/EchoService.svc/echo/123
jsonの結果は返されませんが、jsonの結果が含まれる不明なファイルタイプのダウンロードダイアログが表示されます。
最初に、問題はWebサーバーがjson MIMEタイプを認識していないことだと思ったので、次のように追加しました:
拡張子: .json
MIME タイプ:アプリケーション/json
エントリータイプ:ローカル
しかし、それは問題を解決しませんでした。結果をファイルとして返すのに、ファイルの種類がわからない理由を教えてください。
これが私のweb.configです:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.serviceModel>
<services>
<service name="wcf_iis_proto_1.EchoService">
<endpoint address="" binding="webHttpBinding" contract="wcf_iis_proto_1.IEchoService" behaviorConfiguration="webEcho" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webEcho">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
そして、これが私のサービスコントラクトです(および名前空間の使用は省略されています):
public interface IEchoService
{
[OperationContract]
[WebGet(UriTemplate = "/echo/{message}", ResponseFormat = WebMessageFormat.Json)]
string EchoMessage(string message);
}
およびサービスの実装:
public class EchoService: IEchoService
{
public string EchoMessage(string message)
{
return "Hey Buddy. You said: " + message + "!";
}
}
あなたが私を助けてくれることを願っています。ありがとう!!!