0
나는이 실망한 문제를 해결하기 위해 다른 질문에서 여러 가지 제안을 시도해 보았습니다. 일반적으로 IIS에서 사이트를 설정할 때 웹 응용 프로그램은 전송 계층에서 일어나는 일에 대해 다소 "불가지론 적"입니다. 그러나이 특정 앱의 경우 https 바인딩을 적용 할 때 작동하지 않습니다.제공된 URI 스키마 'https'가 유효하지 않습니다.
내 Web.config의는 다음과 같습니다
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<bindings>
<basicHttpBinding>
<binding name="DefaultAPIBinding">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="Certificate" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
내 Global.asax.cs는
ContainerBuilder builder = new ContainerBuilder();
//builder.Register<IContactRepository, ContactRepository>();
builder.Register<IResourceFactory, Classes.LightCoreResourceFactory>();
IContainer container = builder.Build();
var configuration = HttpHostConfiguration.Create().SetResourceFactory(new LightCoreResourceFactory(container));
RouteTable.Routes.MapServiceRoute<WebServiceResources>("ws", configuration);
처럼 보인다하지만이 https
내 IIS 사이트에 바인딩을 추가 할 때마다, 나는 오류 :
The provided URI scheme 'https' is invalid; expected 'http'.
Parameter name: context.ListenUriBaseAddress
[ArgumentException: The provided URI scheme 'https' is invalid; expected 'http'.
Parameter name: context.ListenUriBaseAddress]
System.ServiceModel.Channels.TransportChannelListener..ctor(TransportBindingElement bindingElement, BindingContext context, MessageEncoderFactory defaultMessageEncoderFactory, HostNameComparisonMode hostNameComparisonMode) +12800194
System.ServiceModel.Channels.HttpChannelListener..ctor(HttpTransportBindingElement bindingElement, BindingContext context) +41
System.ServiceModel.Channels.HttpChannelListener`1..ctor(HttpTransportBindingElement bindingElement, BindingContext context) +28
System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener(BindingContext context) +133
System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +63
Microsoft.ApplicationServer.Http.Channels.HttpMessageEncodingBindingElement.BuildChannelListener(BindingContext context) +90
System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +63
Microsoft.ApplicationServer.Http.Channels.HttpMessageHandlerBindingElement.BuildChannelListener(BindingContext context) +158
System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +63
System.ServiceModel.Channels.Binding.BuildChannelListener(Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, BindingParameterCollection parameters) +125
System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean actuallyCreate, Type[] supportedChannels, Binding binding, BindingParameterCollection parameters, Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, ServiceThrottle throttle, IChannelListener& result, Boolean supportContextSession) +336
System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode listenUriMode, Boolean supportContextSession, IChannelListener& result) +716
System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) +1131
System.ServiceModel.ServiceHostBase.InitializeRuntime() +65
System.ServiceModel.ServiceHostBase.OnBeginOpen() +34
System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +50
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +310
System.ServiceModel.Channels.CommunicationObject.Open() +36
System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +91
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +598
[ServiceActivationException: The service '/ws' cannot be activated due to an exception during compilation. The exception message is: The provided URI scheme 'https' is invalid; expected 'http'.
Parameter name: context.ListenUriBaseAddress.]
System.Runtime.AsyncResult.End(IAsyncResult result) +495736
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +178
System.ServiceModel.Activation.AspNetRouteServiceHttpHandler.EndProcessRequest(IAsyncResult result) +6
System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +129
오류 메시지가 내 코드에서 확인하거나 다른 위치에 제공하지 않기 때문에 힌트를 얻었고이 문제를 해결하는 방법에 대한 다른 제안을 이미 구현했기 때문에 나는 분실했습니다. 이 앱을 만들기 위해 내가 무엇을 할 수 있는지에 대한 아이디어는 https
바인딩을 허용합니까?
스택 트레이스가 있습니까? 그것을 게시하는 방법에 대해. – shriek
확실한 점 ... 좋은 지적 –
"하지만 IIS 사이트에 https 바인딩을 추가 할 때마다 오류가 발생합니다."IIS 사이트에 https 바인딩을 추가하는 방법을 명확히 할 수 있습니까? IIS 자체를 통해 또는? – Haney