理解できない WCF REST サービスに問題があります。問題は、サービスが IIS でホストされていることです。
このサービスには、次の 2 つの機能があります。
[ServiceContract]
public interface IFishMapService
{
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
UriTemplate = "/FindAllRecords")]
List<Record> findAllRecords();
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
UriTemplate = "/returnHello")]
String returnHello();
}
2 つ目は、文字列を返す単純なテスト関数です。最初のものはリストを返し、MS SQL Server 2008 によって作成された私のマシン上のデータベースに接続します。
それで...テスト中に何が起こっているのですか: - 次のようにIPアドレスで2番目の機能をテストすると:
ipAddress/MyApp/FishMapService.svc/returnHello
すべて大丈夫です!
2 番目の関数で同じことを行うが、localhost を使用する場合:
ローカルホスト:57640/FishMapService.svc/returnHello
こちらもなんでもOK!美しく美しい手応えを手に入れよう!
最初のものをlocalhostでテストすると:
ローカルホスト:57640/FishMapService.svc/FindAllRecords
送信されたクエリの結果が表示されます。また美しい!必要な情報がすべて表示されます。
同じものを自分の IP でテストした場合:
ipAddress/MyApp/FishMapService.svc/FindAllRecords
これをブラウザ「[]」で取得?!
なぜこうなった?!何か案は?