在ASP.NET-MVC 5应用程序中定义DataDirectory的位置

时间:2015-01-02 18:50:11

标签: .net entity-framework datadirectory

在ASP.NET-MVC 5应用程序中定义DataDirectory的位置?我这意味着在ASP.NET-MVC 5应用程序中调用它的(确切地说是行)方法。我寻找设定它的确切线。

我见过这个:

internal static string ExpandDataDirectory(string keyword, string value, ref string datadir)
{
    string text = null;
    if (value != null && value.StartsWith("|datadirectory|", StringComparison.OrdinalIgnoreCase))
    {
        string text2 = datadir;
        if (text2 == null)
        {
            // 1st step!
            object data = AppDomain.CurrentDomain.GetData("DataDirectory");
            text2 = (data as string);
            if (data != null && text2 == null)
                throw ADP.InvalidDataDirectory();

            if (ADP.IsEmpty(text2))
            {
                // 2nd step!
                text2 = AppDomain.CurrentDomain.BaseDirectory;
            }
            if (text2 == null)
            {
                text2 = "";
            }
            datadir = text2;
        }

        // 3rd step, checks and normalize
        int length = "|datadirectory|".Length;
        bool flag = 0 < text2.Length && text2[text2.Length - 1] == '\\';
        bool flag2 = length < value.Length && value[length] == '\\';
        if (!flag && !flag2)
        {
            text = text2 + '\\' + value.Substring(length);
        }
        else
        {
            if (flag && flag2)
            {
                text = text2 + value.Substring(length + 1);
            }
            else
            {
                text = text2 + value.Substring(length);
            }
        }
        if (!ADP.GetFullPath(text).StartsWith(text2, StringComparison.Ordinal))
            throw ADP.InvalidConnectionOptionValue(keyword);
    }
    return text;
}

但是调用此方法的位置?

1 个答案:

答案 0 :(得分:3)

默认情况下,在Web应用程序中, | DataDirectory | 是应用程序的 App_Data 文件夹。

enter image description here

除非您明确将其设置为 - AppDomain.CurrentDomain.SetData("DataDirectory", Path)

来源:Working with local databases