Применять миграцию сущностей только в определенных средах

Ответ dlev закончил работу, но у меня возникли проблемы с реализацией решения («Параметр« {0} »не может быть пустой строкой.), поэтому я решил написать полный код, если у кого-то еще есть подобные проблемы.

Моя цель состояла в том, чтобы получить html в виде строки, но мне нужно было добавить файлы cookie в веб-запрос. Это функция, которая загружает строку с помощью файлов cookie:

public static string DownloadString(string url, Encoding encoding, IDictionary<string, string> cookieNameValues)
{
    using (var webClient = new WebClient())
    {
        var uri = new Uri(url);
        var webRequest = WebRequest.Create(uri);
        foreach(var nameValue in cookieNameValues)
        {
            webRequest.TryAddCookie(new Cookie(nameValue.Key, nameValue.Value, "/", uri.Host));
        }                
        var response = webRequest.GetResponse();
        var receiveStream = response.GetResponseStream();
        var readStream = new StreamReader(receiveStream, encoding);
        var htmlCode = readStream.ReadToEnd();                
        return htmlCode;
    }
}   

Мы используем код из ответа dlev:

public static bool TryAddCookie(this WebRequest webRequest, Cookie cookie)
{
    HttpWebRequest httpRequest = webRequest as HttpWebRequest;
    if (httpRequest == null)
    {
        return false;
    }

    if (httpRequest.CookieContainer == null)
    {
        httpRequest.CookieContainer = new CookieContainer();
    }

    httpRequest.CookieContainer.Add(cookie);
    return true;
}

Вот как вы используете полный код:

var cookieNameValues = new Dictionary<string, string>();
cookieNameValues.Add("varName", "varValue");
var htmlResult = DownloadString(url, Encoding.UTF8, cookieNameValues);
0
задан A. Hasemeyer 15 January 2019 в 17:54
поделиться

1 ответ

Вы можете проверить значение переменной ASPNETCORE_ENVIRONMENT, используя метод IHostingEnvironment::IsProduction, если у вас есть IHostingEnvironment в вашей области, или статическим методом System.GetEnvironmentVariable ("ASPNETCORE_ENVIRONMENT")

0
ответ дан Yamaç Kurtuluş 15 January 2019 в 17:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: