2017-03-14 33 views
0

私は学校の教授の問題を解決しようとしています。彼はWindows Server 2008を実行しているコンピュータからWindows Server 2016を実行している新しいコンピュータに移行しようとしているC#Webプロジェクトを持っています。これはIISで提供されており、学生は自分のコンピュータのIPアドレスに移動してアプリケーションにアクセスしますコンピュータ。Windows Server 2008からWindows Sever 2016へのWebアプリケーションの移行

古いコンピュータでは、単にプロジェクトフォルダをC:\ inetpub \ wwwrootにコピーし、アプリケーションはlocalhostまたは別のコンピュータから自分のIPアドレスに移動するときに実行されます。しかし、プロジェクトフォルダをC:\ inetpub \ wwwrootにコピーすると、プロジェクトは実行されません。代わりに、 this is the screen he gets。 「autograder」フォルダ(彼がホストしようとしているプロジェクトフォルダ)をクリックすると、this HTTP error occursが表示されます。 web.configファイルは、C:¥inetpub¥wwwroot¥autograder¥Bin¥WebApplication1¥WebApplication1¥web.config

にあります。解決策をオンラインで調べた後、wwwrootフォルダに必要な権限があることを確認しました(Web.Config - Cannot read configuration file due to insufficient permissions)、なぜ私は設定ファイルを読むことができないとか、Windows Server 2008のようにプロジェクトがちょうど実行されないようにするという違いが何であるのかわかりません。

ここにありますweb.configファイル:

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    <!-- add System.Data.Entity.Infrastructure.SqlConnectionFactory --> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <connectionStrings> 
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebApplication1-20140618141327;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebApplication1-20140618141327.mdf" /> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" defaultLanguage="c#" targetFramework="4.0" /> 
    <httpRuntime targetFramework="4.0" /> 
    <pages> 
     <namespaces> 
     <!--add namespace="System.Web.Optimization" /--> 
     </namespaces> 
     <controls> 
     <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" /> 
     </controls> 
    </pages> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/" /> 
    </authentication> 
    <profile defaultProvider="DefaultProfileProvider"> 
     <providers> 
     <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
     </providers> 
    </profile> 
    <membership defaultProvider="DefaultMembershipProvider"> 
     <providers> 
     <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
     </providers> 
    </membership> 
    <roleManager defaultProvider="DefaultRoleProvider"> 
     <providers> 
     <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
     </providers> 
    </roleManager> 
    <!-- 
      If you are deploying to a cloud environment that has multiple web server instances, 
      you should change session state mode from "InProc" to "Custom". In addition, 
      change the connection string named "DefaultConnection" to connect to an instance 
      of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. 
     --> 
    <sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
     <providers> 
     <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
     </providers> 
    </sessionState> 
    </system.web> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" /> 
     <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
    <system.webServer> 
     <rewrite> 
      <rewriteMaps> 
       <rewriteMap name="start"> 
       </rewriteMap> 
      </rewriteMaps> 
     </rewrite> 
     <defaultDocument> 
      <files> 
       <add value="Student.aspx" /> 
       <add value="student" /> 
      </files> 
     </defaultDocument> 
    </system.webServer> 
</configuration> 

Windows Server、IIS、およびWebホスティングの新機能Windowsの一般的なので、私は非常にこのエラーが発生しているか、Windows Server 2016で実行するためにプロジェクトを作る必要がある可能性がある変更に関する情報を大いに感謝します。

+0

あなたのアプリケーションプールは、どのユーザーが実行していますか? – StfBln

+0

AUTOGRADER(UOFMICHGANDEARB \ boss) 「boss」はこのコンピュータの管理者アカウントです。 –

答えて

0

web.configファイルそれ自体が問題でした。 web.configファイルの内容をリセットして、アプリケーションのホームページに移動できました。 web.configファイルをつなぎ合わせると、好きではないタグが1セット見つけられました。なぜそれが設定ファイルを正しく読み取れなかったのかということでした。

関連する問題