在web.config中创建一个字符串并在web.api中使用它

时间:2013-04-08 13:31:41

标签: asp.net web-config connection-string asp.net-web-api

我是Web开发领域的新手,我想在web.config文件中创建一个变量,以便我可以在web.api的.NET部分中使用它。

我找到了以下关于如何做到这一点的教程:

Setting up connection string in ASP.NET to SQL SERVER

http://www.connectionstrings.com/Articles/Show/store-connection-string-in-web-config

我有以下问题,我没有数据库来连接字符串(我只会在web配置中使用它,这样我就可以轻松更改字符串而无需通过代码。所以假设我是以下列方式使用它:

<add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />

我应该在connectionStringproviderName

中拥有什么

3 个答案:

答案 0 :(得分:20)

如果我理解你想做什么,听起来你根本不想使用连接字符串。而是使用web.config文件的“应用程序设置”部分。例如

<configuration>
  <system.web> ... </system.web>
  <appSettings>
    <add key="MyAppSetting" value="A test value." />
  </appSettings>
</configuration>

然后可以通过获取

的值在代码中使用它
System.Configuration.ConfigurationManager.AppSettings["MyAppSetting"]

(C#)或

System.Configuration.ConfigurationManager.AppSettings("MyAppSetting")

(VB)

有关详细信息,请参阅MSDN,或在线搜索“asp.net AppSettings”。

答案 1 :(得分:1)

如果您没有要连接的数据库(这是我从您的问题中所理解的),那么您甚至不需要在<connectionStrings>中拥有Web.config部分。只有在要连接到数据库时才需要该部分。

如果您使用数据库,则connectionString会根据多种因素而变化,例如身份验证类型,数据库产品(MS SQL Server,MySQL),驱动程序类型(ODBC,.NET)等。

“提供商名称”取决于您使用的数据库产品。例如,SQL Server是"System.Data.SqlClient"

您可以查看this site以获取适用于不同身份验证类型,使用的驱动程序等的每种产品的数据库产品和连接字符串的完整列表。

答案 2 :(得分:0)

对于ASP.NET 4.5应用程序我正在使用appSettings进行电子邮件配置。我也在使用connectionStrings

appSettings需要在connectionStrings之前不包括在configSections

之前
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <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="ContactEmail0" value="service@davincispainting.com" />
    <add key="ContactEmail1" value="estimate@davincispainting.com" />
  </appSettings>
  <connectionStrings>
    <!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-DAV3-20150302043828.mdf;Initial Catalog=aspnet-DAV3-20150302043828;Integrated Security=True" providerName="System.Data.SqlClient" />-->
    <!--<add name="connectionString" connectionString="data source=localhost;Initial Catalog=*****;User ID=sa;Password=*****;" providerName="System.Data.SqlClient" />-->
    <!--<add name="connectionString" connectionString="data source=localhost;Initial Catalog=Davincis3;User ID=*****;Password=*****;" providerName="System.Data.SqlClient" />-->
    <!--<add name="connectionString" connectionString="data source=DELLLAPTOP-PC\SQLSERVEREXPRESS;Initial Catalog=Davincis3;User ID=sa;Password=*****;" providerName="System.Data.SqlClient" />-->
    <add name="connectionString" connectionString="data source=DELLLAPTOP-PC\SQLEXPRESS;Initial Catalog=Davincis3;User ID=sa;Password=*****;" providerName="System.Data.SqlClient" />
  </connectionStrings>
...