2017-09-18 62 views
0

我有我的绑定问题,我不知道如何解决它。我是在服务器端和客户端使用此绑定:WCF绑定问题

<system.web> 
<compilation debug="true" targetFramework="4.5.2"/> 
<httpRuntime targetFramework="4.5.2"/> 
<httpModules> 
    <add name="ApplicationInsightsWebTracking" 
type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, 
Microsoft.AI.Web"/> 
</httpModules> 
</system.web> 
<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" 
multipleSiteBindingsEnabled="true"/> 

<bindings> 
    <customBinding> 
    <binding name="pciBinding" receiveTimeout="00:05:00" 
sendTimeout="00:05:00"> 
     <textMessageEncoding messageVersion="Soap11WSAddressing10" 
writeEncoding="utf-8" /> 
     <httpTransport maxReceivedMessageSize="67108864" /> 
    </binding> 
    </customBinding> 
</bindings> 

</system.serviceModel> 
<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="ApplicationInsightsWebTracking"/> 
    <add name="ApplicationInsightsWebTracking" 
type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, 
Microsoft.AI.Web" 
    preCondition="managedHandler"/> 
</modules> 

<directoryBrowse enabled="true"/> 
<validation validateIntegratedModeConfiguration="false"/> 
</system.webServer> 

我把这个也是我的配置文件,但例外的是仍然是相同的: 从命名空间“http://www.w3.org/2005/08/addressing”头“操作”没有被该消息的接收者理解,导致消息不被处理。此错误通常表示此消息的发件人已启用接收方无法处理的通信协议。请确保客户端绑定的配置与服务的绑定一致。

我需要做什么才能使其工作?

+0

请为服务器和客户端显示完整的wcf配置。 – Rabban

+0

我已经把我的整个web.config文件,但我没有权限查看客户端web.config文件,因为它是一个外部应用程序。我从家伙那里知道的唯一事情就是我应该使用这个绑定。 –

+0

通常服务器应该规定应该使用哪种绑定^^正如我所看到的,您没有端点并将绑定和行为绑定在其上。你需要添加一个像这样的端点:'你需要给你的行为一个名字来绑定它在端点上,在这个例子中它叫做“myBehavior”。 – Rabban

回答

0

你需要一个端点添加到您的配置:

<system.serviceModel> 
    <services> 
     <service> 
      <endpoint binding="customBinding" bindingConfiguration="pciBinding" name="MyEndpoint" behaviorConfiguration="myBehavior" contract="Your.Contract.Interface.With.Fullname" /> 
     </service> 
    </services> 
</system.serviceModel> 

,你需要给你的行为,其绑定端点上的名字,在这个例子中,它被称为“myBehavior”。