配置任何服务器端的新功能......提前感谢您的帮助!
我正在尝试在VisualStudio2008 / .NET 3.5中使用一个简单的HelloWorld REST api;最终我将把它用于CRUD测试数据/结果从本地无线局域网上运行的各种移动设备返回服务器。
我发现了许多其他问题,他们的答案会改变我的app.config的相关部分,但似乎没有一个问题适用于这个特定的问题(并且试验和错误没有产生任何结果)
这是我的ServiceContract:
[ServiceContract]
public interface IRestService
{
[OperationContract]
[WebInvoke(
Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/{id}")]
string XMLData(string id); //Implemented as 'return "you requested " + id;'
[OperationContract]
[WebGet]
string Test(); //Implemented as 'return "foobar";'
[OperationContract]
[WebGet]
string Test2(string foo); //Implemented as 'return "foobar=" + foo;'
}
这是我的app.config
<services>
<service name="MyRestService.IRestServiceImpl" behaviorConfiguration="MyServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost/foo/bar"/>
</baseAddresses>
</host>
<endpoint address ="" binding="webHttpBinding" contract="MyRestService.IRestService" behaviorConfiguration="myRestBehavior" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="myRestBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
我在visualstudio中通过f5运行(我认为这意味着我没有担心任何.svc / IIS的东西?),并试图通过
进行连接http://localhost/foo/bar/Test
http://localhost/foo/bar/Test2 ( /ParamIgnored if I add one )
http://localhost/foo/bar/XMLData/123
在我的浏览器上。
非常感谢
答案 0 :(得分:4)
您已覆盖要在xml / {id}上访问的XMLData端点,但您将其称为XMLData / {id}。