Can';t从浏览器浏览到WCF REST服务
考虑这一点:Can';t从浏览器浏览到WCF REST服务,wcf,rest,wcf-rest,Wcf,Rest,Wcf Rest,考虑这一点: [ServiceContract] public interface ICreditCardExtractor { [OperationContract] [WebGet] string CoolAction(); } 我已经在我的IIS中定向了一个新应用程序到工件,并且能够浏览文件。 但是,当我尝试调用CoolAction(通过浏览http://localhost/MySvc/CreditCardExtractor.
[ServiceContract]
public interface ICreditCardExtractor
{
[OperationContract]
[WebGet]
string CoolAction();
}
我已经在我的IIS中定向了一个新应用程序到工件,并且能够浏览文件。
但是,当我尝试调用CoolAction
(通过浏览http://localhost/MySvc/CreditCardExtractor.svc/CoolAction
)
我明白了
由于EndpointDispatcher上的ContractFilter不匹配,无法在接收器上处理具有操作“”的消息。这可能是因为合同不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)
这是我的web.config
:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime targetFramework="4.5"/>
<!--pages controlRenderingCompatibilityVersion="4.0"/-->
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<!--added service behaviour configuration-->
<services>
<service name="WcfService1.CreditCardExtractor">
<endpoint
address=""
binding="webHttpBinding"
contract="WcfService1.ICreditCardExtractor" />
</service>
</services>
<serviceHostingEnvironment
aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
....
</configuration>
....
您已经定义了端点行为,但尚未将其应用到服务端点,请尝试将配置更新为:
<services>
<service name="WcfService1.CreditCardExtractor">
<endpoint
address=""
behaviorConfiguration="web" -- add this line here!!
binding="webHttpBinding"
contract="WcfService1.ICreditCardExtractor" />
</service>
</services>
您已经定义了端点行为,但尚未将其应用到服务端点,请尝试将配置更新为:
<services>
<service name="WcfService1.CreditCardExtractor">
<endpoint
address=""
behaviorConfiguration="web" -- add this line here!!
binding="webHttpBinding"
contract="WcfService1.ICreditCardExtractor" />
</service>
</services>