我的 wcf 服务一直在工作,直到我进行了两次更改。当我在调试模式下运行它时,我没有收到任何错误,但是当我将其部署到生产环境时,我收到"无终点"异常。我遵循了其他帖子中给出的建议,但没有变化。谁能帮我解决这个问题?
1. 添加了接受字符串和字节数组的方法
函数方法3(ByVal参数1作为字符串,ByVal参数2作为byte(((作为字符串
2. 在 web.config 中添加了一个部分,以便可以发送更大的消息
<bindings>
<basicHttpsBinding>
<binding maxReceivedMessageSize="2100000000"></binding>
</basicHttpsBinding>
</bindings>
WCF 服务配置
<system.serviceModel>
<bindings>
<!--This needs to be changed to http if debugging and https for production-->
<!--<basicHttpBinding>
<binding maxReceivedMessageSize="2100000000"></binding>
</basicHttpBinding>-->
<basicHttpsBinding>
<binding maxReceivedMessageSize="2100000000"></binding>
</basicHttpsBinding>
</bindings>
<services>
<service name="penergydata.penergydata">
<host>
<baseAddresses>
<!--This needs to be changed to http if debugging and https for production-->
<!--<add baseAddress="http://localhost:49427/"/>-->
<add baseAddress="https://wcfservices.myefaactweb.com/penergydata/"></add>
</baseAddresses>
</host>
<!--This needs to be changed to http if debugging and https for production-->
<!--<endpoint address="" binding="basicHttpBinding" contract="penergydata.Ipenergydata"/>-->
<endpoint address="" binding="basicHttpsBinding" contract="penergydata.Ipenergydata"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<!--This needs to be changed to http if debugging and https for production-->
<!--<add binding="basicHttpBinding" scheme="http"/>-->
<add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
客户端配置
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpsBinding_Ipenergydata">
<security mode="Transport"/>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://wcfservices.myefaactweb.com/penergydata/penergydata.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpsBinding_Ipenergydata" contract="penergydata.Ipenergydata" name="BasicHttpsBinding_Ipenergydata"/>
</client>
</system.serviceModel>
请确保在客户端中更改绑定类型。客户端和服务绑定必须匹配。您也可以始终使用 svcutil 来获取服务的正确配置信息。
<system.serviceModel>
<bindings>
<basicHttpsBinding>
<binding name="BasicHttpsBinding_Ipenergydata">
<security mode="Transport"/>
</binding>
</basicHttpsBinding>
</bindings>
<client>
<endpoint address="https://wcfservices.myefaactweb.com/penergydata/penergydata.svc" binding="basicHttpsBinding" bindingConfiguration="BasicHttpsBinding_Ipenergydata" contract="penergydata.Ipenergydata" name="BasicHttpsBinding_Ipenergydata"/>
</client>
</system.serviceModel>