WebHttp + HTTPS 바인딩과 함께 실행되는 자체 호스팅 WCF 서비스에 연결할 수 없습니다. 여러 가지 이유로, 나는 코드가 아니라 설정 파일을 사용하여 전체 서비스를 구성, 그리고 서비스이 방법의 인스턴스 : HTTPS를 통해 자체 호스팅 WCF 서비스에 연결할 수 없습니다.
private ServiceHost CreateService()
{
Type myServiceType = typeof(MyService);
ServiceHost myService = new ServiceHost(myServiceType, new Uri(Constants.ServiceAddress));
ContractDescription contract = ContractDescription.GetContract(myServiceType);
WebHttpBinding httpsBinding = new WebHttpBinding(WebHttpSecurityMode.Transport);
httpsBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
ServiceEndpoint endpoint = myService.AddServiceEndpoint(myServiceType, httpsBinding, "MyService.svc");
endpoint.Behaviors.Add(new WebHttpBehavior());
ServiceMetadataBehavior metadataBehavior = new ServiceMetadataBehavior();
metadataBehavior.HttpGetEnabled = true;
metadataBehavior.HttpsGetEnabled = true;
myService.Description.Behaviors.Add(metadataBehavior);
myService.Credentials.ServiceCertificate.SetCertificate(
StoreLocation.LocalMachine,
StoreName.My,
X509FindType.FindByThumbprint,
Constants.CertThumbprint);
return myService;
}
나는이 코드를 실행
이 서비스가 인스턴스화 오류없이 시작됩니다. 코드에서 쿼리 할 때 서비스가 열려 있다고 주장하고netstat
은 누군가가 적절한 포트에서 수신 대기 중임을 보여줍니다. 이 포트에서 들어오는 연결을 허용하는 방화벽 예외가 있습니다.
그러나 브라우저 또는 클라이언트에서 서비스 끝점 주소를 열려고하면 연결이 즉시 실패합니다. 어떤 단서? 잊어 버린 서비스 호스트 또는 환경의 구성이 있습니까?
편집 :
보고 할 오류 메시지가 없습니다 --- 없음 (404), (500), 또는 기타 오류가 발생했습니다. 브라우저는 대상 포트에 대한 연결을 열 수없는 것처럼 작동합니다. 서버가 들어오는 연결을 보지 못하는 것 같습니다.
어떤 오류 메시지가 나타 납니까? – GrokSrc
서비스 호스트가 실행중인 사용자 컨텍스트는 무엇입니까? X509 인증서에 액세스하는 데 사용 권한 문제 일 수 있습니다. – john
클라이언트에서 피들러를 시도 했습니까? –