0

ASP.NET-MVC 5 应用程序 DataDirectory 是在哪里定义的?我的意思是 where is(exactly the line) 方法设置它在 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;
}

但是在哪里调用这个方法?

4

1 回答 1

3

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

在此处输入图像描述

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

资料来源:使用本地数据库

于 2015-01-02T20:22:28.997 回答