1

我在 WCF 服务主机中有各种接口(端点),每个接口都有不同的关注点。在经典的肥皂网络服务中,我可以定义一个基本主机地址(例如http://myhost.com/)并将每个接口映射到一个相对 URI(IServiceContract-> service/IMaintenanceContract-> maintenance/),这样我就可以通过例如调用它们http://myhost.com/service/mymethod

现在,我正朝着使用 JSON 作为 CRUD Web 请求的消息格式的 RESTful WCF 服务迈出第一步,我看到的唯一解决操作的方法是使用UriTemplate来自WebInvoke(或WebGet) 属性的字段。不幸的是,我似乎无法将其放在接口上,只能放在操作合同方法上。

如何将每个接口映射到不同的亲戚URI

4

1 回答 1

4

是的,您会将基本 url 放在 [OperationContract] 方法中。不过这没关系,因为您可以指定任何您想要的基本 url。这是一个示例界面,可为您提供此控件。

namespace MyHostApi
{
    [ServiceContract]
    public interface IMyHostApi
    {

        [OperationContract]
        [WebGet(BodyStyle = WebMessageBodyStyle.Bare,
                UriTemplate = "WhateverYouWant/HelloWorld/{name}")]
        string HelloWorld(string format, string name);

    }
}
于 2013-07-24T15:01:24.710 回答