我对Azure和Web开发相对较新,因此我试图找出一种方法来使用Web App Service的Configuraton刀片中的connectionString。我的理解是,我应该能够使用门户网站的连接字符串而不是在Web.Config中指定的虚拟值来覆盖connectionString。我希望在不更改源代码的情况下执行此操作。
我已经在门户中添加了连接字符串,如下所示:
我希望这足以覆盖源代码中提供的connectionString。
我的Web.Config文件如下:
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx" restartOnExternalChanges="false" requirePermission="false" />
</configSections>
<configBuilders>
<builders>
<add name="AzureKeyVault" vaultName="xxxxxxxxxxxx" type="Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Azure, Version=1.0.0.0, Culture=neutral" vaultUri="https://xxxxxxxxxxxx.vault.azure.net/" />
</builders>
</configBuilders>
<!--<connectionStrings>
<add name="SchoolContext" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ContosoUniversity2;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>-->
<!--Azure connection string-->
<connectionStrings>
<add name="SchoolContext" connectionString="thisdoesntmatter" providerName="System.Data.SqlClient" />
<!-- <add name="ContosoUniversityLogin" connectionString="metadata=res://*/LoginData.csdl|res://*/LoginData.ssdl|res://*/LoginData.msl;provider=System.Data.SqlClient;provider connection string="data source=XXX.database.windows.net;initial catalog=ContosoUniversity;persist security info=True;user id=XXX;password=XXX;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
-->
</connectionStrings>
<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" />
<add key="connectionString" value="dummy" />
</appSettings>
存储在门户中的连接字符串如下:(为安全起见,删除了ID和密码):
Server = tcp:XXX.database.windows.net,1433;初始目录= ContosoUniversity; Persist安全信息= False;用户ID = XXX;密码= XXX; MultipleActiveResultSets = False; Encrypt = True; TrustServerCertificate = False;连接超时= 30;