我有一个WCF服务,它有一个端点,我在配置文件中设置了服务合同和操作合同,但是当我运行服务时,虽然我在web.config中配置了端点,但它找不到端点。 / p>
此服务将在IIS中设置,因此我没有基本地址设置。
ServiceContract的配置名称为agent_port_type,服务行为的配置名称为agent_service。我正在使用basicHttpBinding。
以下是我的配置文件的一部分副本:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ETAOutboundServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="Metadata">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ETAOutboundServiceBehavior" name="agent_service">
<clear />
<endpoint address="" name="agent_interface" binding="basicHttpBinding" contract="agent_port_type"
listenUriMode="Explicit" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"
listenUriMode="Explicit" />
</service>
</services>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
任何帮助将不胜感激。我有一个不同的服务工作,但后来我使用svcutil创建agent_port_type,它不工作。
答案 0 :(得分:0)
您应该尝试将配置简化为Works,然后根据需要添加额外选项。
开始于:
删除listenURIMode
为端点添加地址
检查您正在调用您认为正在呼叫的服务的IIS日志