Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在设置Azure portal以使用connectionString作为应用程序设置,而不使用代码_C#_Azure_Connection String - Fatal编程技术网

C# 正在设置Azure portal以使用connectionString作为应用程序设置,而不使用代码

C# 正在设置Azure portal以使用connectionString作为应用程序设置,而不使用代码,c#,azure,connection-string,C#,Azure,Connection String,我对Azure和Web开发相对较新,我正试图找到一种从Web应用服务的Configuraton blade使用connectionString的方法。我的理解是,我应该能够使用门户的连接字符串而不是我在Web.Config中指定的伪值来覆盖connectionString。我希望在不更改源代码的情况下执行此操作 我已经在门户中添加了连接字符串,如下所示: <configuration> <configSections> <section name="en

我对Azure和Web开发相对较新,我正试图找到一种从Web应用服务的Configuraton blade使用connectionString的方法。我的理解是,我应该能够使用门户的连接字符串而不是我在Web.Config中指定的伪值来覆盖connectionString。我希望在不更改源代码的情况下执行此操作

我已经在门户中添加了连接字符串,如下所示:

<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=&quot;data source=XXX.database.windows.net;initial catalog=ContosoUniversity;persist security info=True;user id=XXX;password=XXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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>

我希望这足以覆盖源代码中提供的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=&quot;data source=XXX.database.windows.net;initial catalog=ContosoUniversity;persist security info=True;user id=XXX;password=XXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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;初始目录=康托索大学;持久安全信息=False;用户ID=XXX;密码=XXX;MultipleActiveResultSets=False;加密=真;TrustServerCertificate=False;连接超时=30

您在门户中创建的连接字符串名为
connectionString
,这是您想要的吗?我在您的配置中没有看到任何名为that的连接字符串。我看到一个名为
connectionString
的appsetting,但appsettings与连接字符串是分开的。修复了!这篇文章很有帮助:名字是SchoolContext而不是connectionString。我以为连接字符串的名称是appSettings下Web.Config中的connectionString,但实际上是SchoolContextPlease添加此作为答案,因为它将帮助其他具有相同问题的人。