When using "ChannelFactory" to try to consume WCF Restful Service, e.g.:
Service
[ServiceContract]
public interface ISocialStatus
{
[OperationContract]
[WebGet(UriTemplate =
"/statuses/update/{text}")]
void UpdateStatus(string text);
}Client:
using (ChannelFactory<ISocialStatus> factory = new ChannelFactory<ISocialStatus>("SocialClient"))
{
ISocialStatus socialChannel = factory.CreateChannel();
socialChannel.UpdateStatus("aaa");
}Solution:
Way 1: Add WebHttpBehavior
using (ChannelFactory<ISocialStatus> factory = new ChannelFactory<ISocialStatus>("SocialClient"))
{
factory.Endpoint.Behaviors.Add(new WebHttpBehavior());
ISocialStatus socialChannel = factory.CreateChannel();
socialChannel.UpdateStatus("aaa");
}Way 2: Use WebChannelFactory
using (System.ServiceModel.Web.WebChannelFactory<ISocialStatus> factory = new WebChannelFactory<ISocialStatus>("SocialClient"))
{
ISocialStatus socialChannel = factory.CreateChannel();
socialChannel.UpdateStatus("aaa");
}
本文介绍如何使用ChannelFactory来尝试消费WCF Restful服务,并提供了两种解决方案:添加WebHttpBehavior和使用WebChannelFactory。通过实例演示了如何实现服务调用。

2976

被折叠的 条评论
为什么被折叠?



