您好我一直在努力解决我的问题,但无法做任何事情。
问题是
http://localhost/productservice/service.svc
在浏览器中输入此地址时,它会给我503服务不可用错误
当我从VS 2010运行我的代码时它给了我
位于http://localhost/ProductsService/Service.svc的HTTP服务太忙了。 异常。
ProductService使用ApplicationPoolIdentity在ASP.NET v4.0集成应用程序池中运行。
我不知道自己需要做什么!
(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="Data Source=PINCHY\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated Security=True;MultipleActiveResultSets=True"" 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>
任何帮助将不胜感激 感谢
答案 0 :(得分:21)
有同样的问题,但原因不同。在IIS(左侧面板)中,单击“应用程序池”并确保您选择的ASP.NET版本实际上正在运行。由于某种原因,我被关了。
答案 1 :(得分:8)
我有同样的问题。对我来说问题是密码无效。我的密码最近更改了,IIS的应用程序池使用旧密码。密码更新后,应用程序再次运行。
希望有所帮助。
答案 2 :(得分:3)
我也遇到了同样的问题,解决方法是,
在IIS中,单击默认网站下的ProductsService网站。在操作窗格的右侧,单击高级设置。检查Enabled Protocol属性,此属性的值应以逗号分隔,例如:http,net.tcp。实际上我进入了半冒号而不是逗号,我曾经遇到过你所面临的同样异常。尝试用逗号代替分号。我认为它应该有用。
答案 3 :(得分:2)
我们的团队遇到了同样的问题503 Service Unavailable
。
在我们的例子中,应用程序池很好,(身份设置正确,应用程序池已启动)。
经过一些评估后,我们发现在保留端口80的服务器上安装了基于WCF的服务。使用netsh
http
命令,我们可以看到网址预留。
netsh http show urlacl
Reserved URL : http://+:80/
答案 4 :(得分:1)
我在IIS 7上运行.NET 4.0网站时,我一直收到503错误。我对此非常自负,因为我只需单击左侧窗格中的“应用程序池”,您可以在其中看到列出的站点和应用程序池。果然,相关的应用程序池总是停止,我只是重新启动它。但是,今天(我回到这个问题的原因)这并没有解决问题。在我的情况下,我有一个包含一些公共页面的网站,然后是2个受密码保护的应用程序。只有一个应用程序给出了503错误。我选择了应用程序并单击了高级设置,并意识到问题是应用程序池。它指向的是DefaultAppPool而不是整个网站的应用程序池。当我更正时,网站的所有3个区域都开始正常工作。因此,总而言之,停止的应用程序池可能会导致503错误。只需确保重新启动正确的应用程序池,即可让您的网站再次运行。