在Asp中使用2个连接字符串表示local和azure。净

时间:2014-03-14 19:29:14

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

很抱歉,对于初学者问题,但我无法弄清楚如何使用两个连接字符串并根据主机使用它们。这是我Web.config的设置:

    <add name="SniffstersEntitiesLocal" connectionString="Data Source=127.0.0.1;initial catalog=Sniffsters;integrated security=True;" providerName="System.Data.SqlClient" />

    <add name="SniffstersEntities" connectionString="Server=tcp:huucyucfp0.database.windows.net,1433;......

然后我希望在我的Context文件中有类似的内容:

if (Iam on local host)
myConnectionString = SniffstersEntitiesLocal
else 
myConnectionString = SniffstersEntities

public class SniffstersContext : IdentityDbContext<ApplicationUser>
{

    public SniffstersContext()
        : base("SniffstersEntities", throwIfV1Schema: false)
    {

      YOUR HELP IS APPRECIATED!



    }
}

1 个答案:

答案 0 :(得分:1)

你可以采取两种方式。

1)由于您必须发布到Azure,因此使用转换http://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx

2)如果不可能,请从Request对象获取Host:     if(Request.Url.Host ==“localhost”)        做localhost连接     其他        做天蓝色连接

在这两个中,我推荐转换。