我正在尝试将我的网站发布/部署到iis 7服务器。
当我在visual studio中单击运行时,它可以正常工作。
我按照教程使用Web部署到我的服务器。文件在那里,一切似乎都没问题。
但是当我去网站时:http://10.0.0.12:8000/
我得到:HTTP Error 403.14 - Forbidden
,The Web server is configured to not list the contents of this directory.
我已经提供了网站管理员凭据。我检查了配置的默认页面。
我做错了什么?
这是我的配置文件:
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthenticationModule" />
</modules>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
答案 0 :(得分:9)
要尝试检查的事项:
在web.config中的runAllManagedModulesForAllRequests="true"
部分设置<modules>
属性:
<modules runAllManagedModulesForAllRequests="true">
ASP.NET 4.0已在IIS中注册。使用以下命令确保是这种情况(如果您使用的是32位服务器,则可能需要使用Framework64
调整Framework
文件夹):
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -ir
答案 1 :(得分:1)
转到网站物理部署位置的web.config并打开它 您将在xml文件的末尾找到一个xml标记,作为以下内容
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
....
</handlers>
<!--ENTER THE CODE HERE-->
</system.webServer>
在给定位置添加以下代码段保存并刷新您的站点
<modules runAllManagedModulesForAllRequests="true">
同时尝试删除已有的任何其他标签!