URL прокси Javascript, сгенерированный файлом .SVC, не работает по SSL - PullRequest
0 голосов
/ 12 июля 2010

У меня есть сайт ASP.Net, развернутый в IIS 7.5 с файлом Cart.svc (используется для доступа к Javascript из браузера).

Javascript прекрасно воспроизводится при отсутствии SSL, но SSL вызывает его остановку. Однако, если вы отключите суффикс / js, он будет работать даже под SSL. Похоже, что есть процесс, слушающий SSL, ему просто не нравится суффикс / js.

Ошибка на стороне сервера:

WebHost failed to process a request.
Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/66851296
Exception: System.Web.HttpException (0x80004005): There was no channel actively listening at 'https://xxxx/ws/Cart.svc/js'. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service

Обновление 2: рабочая конфигурация ниже

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
    <services>
      <service name="MySite.Website.Cart" >
        <endpoint address="" behaviorConfiguration="MySite.Website.CartAspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration="webHttpBinding" contract="MySite.Website.Cart" />
      </service>
    </services>
    <bindings>
      <webHttpBinding>
        <binding name="webHttpBinding">
          <security mode="Transport" />
        </binding>  
      </webHttpBinding>    
    </bindings>
    <behaviors>
      <endpointBehaviors>
        <behavior name="MySite.Website.CartAspNetAjaxBehavior">
          <enableWebScript />
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>

Обновление: оригинальная конфигурация ниже

  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="MySite.Website.CartAspNetAjaxBehavior">
          <enableWebScript />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
    <services>
      <service name="MySite.Website.Cart">
        <endpoint address="" behaviorConfiguration="MySite.Website.CartAspNetAjaxBehavior"
          binding="webHttpBinding" name="CartHttp" bindingName="SslOptionalBinding" contract="MySite.Website.Cart" />
      </service>
    </services>
    <bindings>
      <webHttpBinding>
        <binding name="SslOptionalBinding">
          <security mode="Transport" />
        </binding>
      </webHttpBinding>
    </bindings>
  </system.serviceModel>

Заранее спасибо

Райан

1 Ответ

2 голосов
/ 12 июля 2010

Вы установили параметры привязки для использования безопасности транспортного уровня?

<binding name="xxx">
    <security mode="Transport"></security>
</binding>

Если вы можете опубликовать свой раздел, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...