首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebGet [WebGet]工作,但没有为[WebInvoke(...GET.)]找到端点

WebGet [WebGet]工作,但没有为[WebInvoke(...GET.)]找到端点
EN

Stack Overflow用户
提问于 2013-05-17 17:47:08
回答 1查看 7.1K关注 0票数 2

新配置任何服务器端..。提前感谢您的帮助!

我正在尝试让一个简单的HelloWorld REST在VisualStudio2008 / .NET 3.5中工作;最终我将使用它从运行在本地无线局域网上的各种移动设备返回到服务器上的CRUD测试数据/结果。

我发现了许多其他的问题,他们的答案改变了我的app.config的相关部分,但是似乎没有一个问题适用于这个特定的问题(而反复的尝试并没有产生任何结果)

  • 我的WebGet查询成功地返回数据。
  • 使用我的WebInvoke api的Get请求返回一个错误"Endpoint not“

这是我的ServiceContract:

代码语言:javascript
复制
[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

代码语言:javascript
复制
<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>

我正在可视化工作室中通过f5运行(我认为这意味着我没有任何需要担心的. .svc/IIS东西?),并试图通过

代码语言:javascript
复制
http://localhost/foo/bar/Test
http://localhost/foo/bar/Test2   (  /ParamIgnored if I add one  )
http://localhost/foo/bar/XMLData/123

在我的浏览器上。

  • 测试返回'foobar‘
  • 'Test2‘返回'foobar=’(不管是'?param‘还是'/param’,我将其添加到URL的尾部。
  • 'XMLData‘给出了一个错误'Endpoint not’(在我的浏览器中显示为html )。

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-17 23:07:24

您已经重写了要在xml/{id}上访问的XMLData端点,但您将其称为XMLData/{id}。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16615057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档