我有一个 WCF 服务,它现在必须以这种编码发送数据:iso-8859-1。
我尝试更改 IIS 配置或在配置中添加全球化应答器,但服务的响应始终为 UTF-8。
有人可以帮助我吗?
谢谢。
我有一个 WCF 服务,它现在必须以这种编码发送数据:iso-8859-1。
我尝试更改 IIS 配置或在配置中添加全球化应答器,但服务的响应始终为 UTF-8。
有人可以帮助我吗?
谢谢。
您不能在 WCF 中开箱即用地执行此操作。有关如何创建支持 ISO-8859-1 的自定义绑定的一些详细信息,请参阅此答案:https ://stackoverflow.com/a/1908154/2420979
我下载了框架 4.0 的 CustomTextMessageEncoder,我成功显示了 svc 页面,但我的所有调用都没有返回任何内容,并且 HELP 应答器不显示其余服务。
我还注意到,当我调用本地服务时,它会执行两次该方法而没有最终结果,但是如果我将绑定更改为 webHttpBinding,我会执行一次该方法并且它可以工作
这是我的配置:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="TestTheIso.Service1" behaviorConfiguration="ServiceBehaviour">
<endpoint binding="customBinding" bindingConfiguration="DefaultBinding" contract="TestTheIso.IService1" behaviorConfiguration="toto">
</endpoint>
</service>
</services>
<bindings>
<customBinding>
<binding name="DefaultBinding">
<customTextMessageEncoding encoding="ISO-8859-1" messageVersion="None" />
<httpTransport manualAddressing="true"/>
</binding>
</customBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="toto">
<webHttp helpEnabled="true" automaticFormatSelectionEnabled="false" defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<extensions>
<bindingElementExtensions>
<add name="customTextMessageEncoding"
type="Microsoft.Samples.CustomTextMessageEncoder.CustomTextMessageEncodingElement, CustomTextMessageEncoder"/>
</bindingElementExtensions>
</extensions>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>