我无法理解 WCF REST 服务的问题。问题是该服务是由 IIS 托管的。
在服务中,我有两个功能:
[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();
}
第二个只是一个返回字符串的简单测试函数。第一个返回一个列表并连接到我机器上由 MS SQL Server 2008 制作的数据库。
所以......测试时发生了什么: - 如果我用我的 IP 地址测试第二个函数,如下所示:
ipAddress/MyApp/FishMapService.svc/returnHello
一切都好!
如果我对第二个函数做同样的事情,但使用 localhost:
本地主机:57640/FishMapService.svc/returnHello
一切都还可以!得到一个美好而美丽的回应!
如果我用 localhost 测试第一个:
本地主机:57640/FishMapService.svc/FindAllRecords
我看到了已发送的查询结果!又美了!我看到了我需要的所有信息。
如果我用我的 IP 测试同一个:
ipAddress/MyApp/FishMapService.svc/FindAllRecords
在浏览器“[]”中获取这个?!
为什么会这样?!有任何想法吗?