WebHttpBinding com Http e Https
Estou tentando usar https e http para o site. O site possui arquivos .svc que atuam como serviço REST e são chamados de JavaScript.
Minha configuração:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="AjaxBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="MyServiceBehaviour">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service behaviorConfiguration="MyServiceBehaviour" name="MyService.Lookups">
<endpoint address="" behaviorConfiguration="AjaxBehavior"
binding="webHttpBinding" bindingConfiguration="httpWebBinding" contract="MyService.Lookups" >
</endpoint>
<endpoint address="" behaviorConfiguration="AjaxBehavior"
binding="webHttpBinding" bindingConfiguration="httpsWebBinding" contract="MyService.Lookups" >
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="httpsWebBinding">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" />
</security>
</binding>
<binding name="httpWebBinding">
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" />
</security>
</binding>
</webHttpBinding>
</bindings>
</system.serviceModel>
Navegandohttps: //myserver/services/Lookups.svc/Hello dá
Não foi possível encontrar um endereço base que corresponda ao esquema http do nó de extremidade com a ligação WebHttpBinding. Os esquemas de endereço base registrados são [https]
Navegandohttp: //myserver/services/Lookups.svc/Hello dá
Não foi possível encontrar um endereço base que corresponda ao esquema https do nó de extremidade com a ligação WebHttpBinding. Os esquemas de endereço base registrados são [http]
Se eu remover qualquer um dos pontos de extremidade, ele funcionará. Exemplo de remoção do terminal configurado combindingConfiguration="httpWebBinding"
trabalha para HTTPS,
Como posso fazê-lo funcionar com HTTP e HTTPS? A partir de agora, posso usar http ou https removendo um ponto de extremidade.
ReferidosComo posso combinar a configuração dos serviços WCF para http e https em um web.config? eComo você configura os serviços HTTP e HTTPS WCF 4 RESTful?
Nota: No IIS, são dois sites, um escuta em http e outro em https. Ambos compartilhando o mesmo código na pasta física
ATUALIZAR: A partir de agora, eu removi os terminais e ele funciona. Mas minha preocupação é remover o endpoing configurado com o comportamentoConfiguration não parece uma ótima solução para mim.
Isso funciona para http e https
<services>
<service behaviorConfiguration="MyServiceBehaviour" name="MyService.Lookups">
</service>
</services>