我在我的网站上有一个服务运行良好,但现在我想通过网址传递一些值。这可能吗?
服务网址:http://example.com/Service.svc
我用它像:
ChannelFactory<IService> factory = new ChannelFactory<IService>("myKeyBinding");
IService service = factory.CreateChannel();
service.Method(value);
我想要的是:服务网址:http://example.com/Service.svc?some=value&another=value并在我的网站上使用这些值。
WCF支持休息行为。这很简单:
首先用WebInvoke
标记你的合同
[WebInvoke(UriTemplate = "Method/{some}/{another}", Method = Get, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
string Method(string some, string another);
使用以下元数据创建新的ServiceBehavior:
<serviceMetadata httpGetEnabled=”true”/>
根据此行为创建新端点。它应该具有wsHttpBinding
的约束力
现在,将您的服务称为:
http://example.com/Service.svc/Method?some=value&another=value