代码之家  ›  专栏  ›  技术社区  ›  Matt

WCF-路由问题

  •  0
  • Matt  · 技术社区  · 14 年前

    [WebGet(URITemplate="{name}")]
    public Something GetSomethingNamed(string name)
    
    
    [WebInvoke(Method="PUT", URITemplate="{name}")]
    public Something AddSomethingNamed(Something somethingToAdd)
    

    在尝试测试服务中的某些内容时,处理异常的最佳方法是尝试浏览IE中的GET方法,我收到一个错误,AddsomethingNamed需要一个名为NAME的参数。

    我对这种反应有点困惑,因为我甚至不知道它是如何进入PUT方法的,因为我知道web浏览器甚至不直接支持PUT。

    1 回复  |  直到 14 年前
        1
  •  1
  •   devson    14 年前
    [WebInvoke(Method="PUT", URITemplate="{name}")] 
    public Something AddSomethingNamed(Something somethingToAdd) 
    

    在URI模板的上述代码中,您提到了{name},这意味着您的方法接受了另一个参数“name”。

    [WebInvoke(Method="PUT", URITemplate="AddSomethingNamed")] 
    public Something AddSomethingNamed(Something somethingToAdd) 
    

    或者

    [WebInvoke(Method="PUT", URITemplate="{name}")] 
    public Something AddSomethingNamed(string name, Something somethingToAdd)