2012-09-20 187 views
0

我使用visual studio 11添加服务(添加服务引用)。 当我加入该服务的文章,我有一个构造函数articleClient:绑定在客户端+ WCF

public RssArticleServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
      base(binding, remoteAddress) { 
    } 

如何使用这个构造函数,我不知道我的结合应该使用哪个值?

任何示例或示例?

的Merci

问候


我这样做:

BasicHttpSecurityMode securitymode = BasicHttpSecurityMode.Transport; BasicHttpBinding binding = new BasicHttpBinding(securitymode); binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; Uri uri = new Uri("adresse/RssArticleService.svc";); _clientArticles = new RssArticleServiceClient(binding, new EndpointAddress("adresse/RssArticleService.svc";)); var result=await _clientArticles.GetRssDataAsync("1", "fr"); 

和一导管此错误:

**here was no endpoint listening at adresse/RssArticleService.svc that could accept the message. This is often caused by an incorrect address or SOAP** 

我能做些什么,我应该改变绑定的类型?

回答

1

这是我实现:

BasicHttpSecurityMode securitymode = HostSource.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase) ? BasicHttpSecurityMode.Transport : BasicHttpSecurityMode.None; 
BasicHttpBinding binding = new BasicHttpBinding(securitymode); 
binding.MaxReceivedMessageSize = int.MaxValue; 
binding.MaxBufferSize = int.MaxValue; 

Uri uri = new Uri(Application.Current.Host.Source, "../service.svc"); 
_client = new RssArticleServiceClient(binding, new EndpointAddress(uri)) 

编辑:你需要在你的web.config补充一点:

<system.serviceModel> 
<services> 
    <service name="namespace.RssArticleService" 
      behaviorConfiguration="RssArticleServiceBehavior"> 
    <endpoint address="" 
       binding="basicHttpBinding" 
       contract="namespace.IRssArticleService"/> 
    </service> 
</services> 
<serviceBehaviors> 
    <behavior name="RssArticleServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
</serviceBehaviors> 
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> 
</system.serviceModel> 
+0

BasicHttpSecurityMode SECURITYMODE = BasicHttpSecurityMode.Transport; BasicHttpBinding binding = new BasicHttpBinding(securitymode); binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; Uri uri = new Uri(“https://adresse/RssArticleService.svc”); _clientArticles = new RssArticleServiceClient(binding,new EndpointAddress(“https://adresse/RssArticleService.svc”)); var result = await _clientArticles.GetRssDataAsync(“1”,“fr”); – user1428798