Сервис недоступен 503 + Служба HTTP, расположенная по адресу http://localhost/ProductsService/Service.svc, слишком занята

Привет, я пытался решить свою проблему, но ничего не мог поделать.

Проблема

http://localhost/productservice/service.svc, когда введите этот адрес в моем браузере, он дает мне 503 Ошибка недоступности службы

Когда я запускаю свой код из VS 2010, он дает мне

Служба HTTP, расположенная в http://localhost/ProductsService/Service.svc, слишком занята. исключение.

ProductService работает в объединенном пуле приложений ASP.NET v4.0 с ApplicationPoolIdentity.

Я просто не понял, что мне нужно делать!

(Windows 7 Home и IIS7)

используется basicHttpBinding

конфигурация на стороне сервера

<?xml version="1.0"?>
<configuration>
    <connectionStrings>
        <add name="AdventureWorksEntities" connectionString="metadata=res://*/ProductsModel.csdl|res://*/ProductsModel.ssdl|res://*/ProductsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=PINCHY\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
    </connectionStrings>
    <system.web>
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>
    </system.web>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior>
                    <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
                    <serviceMetadata httpGetEnabled="true"/>
                    <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
                    <serviceDebug includeExceptionDetailInFaults="false"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
    </system.serviceModel>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

клиент app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IProductsService" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:80/ProductsService/Service.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IProductsService"
                contract="ProductsService.IProductsService" name="BasicHttpBinding_IProductsService" />
        </client>
    </system.serviceModel>
</configuration>

Любая помощь будет высоко оценена Благодаря

Ответ 1

Была та же проблема, но другая причина. В IIS (левая панель) щелкните Пулы приложений и убедитесь, что выбранная версия ASP.NET действительно запущена. По какой-то причине моя была отключена.

Ответ 2

У меня такая же проблема. Проблема для меня оказалась неверным паролем. Недавно мой пароль изменился, и в пуле приложений для IIS используется старый пароль. После обновления пароля приложение снова работает.

Надеемся, что это поможет.

Ответ 3

Я также столкнулся с той же проблемой, и решение есть,

В IIS нажмите на веб-сайте ProductsService на веб-сайте по умолчанию. В правой части панели действий нажмите дополнительные настройки. Проверьте свойство Enabled Protocol, значения для этого свойства должны быть разделены запятыми ex: http, net.tcp. Фактически я ввел запятую вместо запятой, и я использовал то же самое исключение, с которым вы столкнулись. попробуйте заменить точку с запятой, запятую. Я думаю, что это должно сработать.

Ответ 4

Я продолжал получать ошибку 503 в IIS 7, работающей на веб-сайте .NET 4.0 на localhost. Я стал довольно самодовольным, потому что все, что мне нужно было сделать, это нажать "Пулы приложений" в левой панели, где указаны узлы и пулы приложений. Разумеется, соответствующий пул приложений всегда был остановлен, и я просто перезапустил его. Однако сегодня (причина, по которой я вернулся к этому вопросу) это не решило проблему. В моем случае у меня есть веб-сайт с несколькими общедоступными страницами, а затем 2 приложения, защищенные паролем. Только одно из приложений дало ошибку 503. Я выбрал приложение и нажал "Дополнительные настройки" и понял, что проблема связана с пулом приложений. Он указывал на DefaultAppPool вместо пула приложений для общего веб-сайта. Когда я исправил это, все 3 области веб-сайта снова начали нормально работать. Итак, чтобы подвести итог, ошибка 503 может быть вызвана остановленным пулом приложений. Просто убедитесь, что вы снова запустили правильный пул приложений, чтобы снова запустить ваш сайт.

Ответ 5

Наша команда испытала ту же проблему, 503 Service Unavailable. В нашем случае пул приложений был в порядке, (личность была установлена ​​правильно и пул приложений запущен).

После некоторой оценки мы обнаружили, что служба на основе WCF была установлена ​​на сервере, который зарезервировал порт 80. Используя команду netsh http, мы смогли увидеть резервирование URL.

netsh http show urlacl

Reserved URL            : http://+:80/

Следующая ссылка оказалась полезной: http://blogs.msdn.com/b/webtopics/archive/2010/02/17/a-not-so-common-root-cause-for-503-service-unavailable.aspx