我已经使用webHttpBinding创建了一个新的 IIS 主机 WCF 服务,该服务当前在我的开发机器上的 IIS Express 上运行,当我尝试“添加服务引用”时,该服务已正确构建并且 Reference.cs 文件看起来不错,但网络.config 或 app.config 文件未更新。
没有收到警告或错误消息。
服务和客户端都针对.Net 4.5。
服务配置
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="webInteropSecureBinding" allowCookies="false" maxBufferPoolSize="2097152" maxBufferSize="2097152" maxReceivedMessageSize="2097152">
<security mode="Transport" />
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="PsmDataProvider.PsmProvider" behaviorConfiguration="SecureRest">
<clear />
<endpoint address="" binding="webHttpBinding" bindingConfiguration="webInteropSecureBinding" name="PsmProvider" contract="PsmDataProvider.IPsmProvider" listenUriMode="Explicit" behaviorConfiguration="webHttpBehavior" />
<endpoint address="mex" binding="mexHttpsBinding" name="mex" contract="IMetadataExchange" listenUriMode="Explicit" />
<host>
<baseAddresses>
<add baseAddress="https://localhost:44300/PsmProvider/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="SecureRest">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
客户端配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
客户服务参考
经过一些调查,我发现了这些 StackOverflow 问题
还有这个帖子
上面的每一个都提到了我已经完成的取消勾选“在引用程序集中重用类型”标志的相同问题。
问题是它没有解决问题。我尝试过更新、删除和重新创建服务引用,但它从不更新配置文件。
问题
这是服务器端配置的问题吗?或者这是客户端的问题?如何进行更改以使代理生成按预期工作?