Что самый эффективный путь состоит в том, чтобы выполнить реверс Сервера. MapPath в Приложении ASP.NET

Используется именованный канал. На хосте os создайте сценарий для циклического и считывания команд, а затем вы вызовете eval.

Попросите контейнер докеров прочитать этот именованный канал.

Чтобы иметь доступ к каналу, вам необходимо установить его через том.

Это аналогично механизму SSH (или аналогичному методу на основе сокетов), но ограничивает вас правильным хост-устройством, что, вероятно, лучше. Кроме того, вам не нужно передавать информацию об аутентификации.

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

Некоторые из других ответов, таких как запуск сценария. По объему не будут работать в общем случае, поскольку у них не будет доступа к полным системным ресурсам, но он может быть более уместным в зависимости от вашего использования .

25
задан Peter Meyer 28 December 2008 в 03:45
поделиться

1 ответ

В данный момент я не знаю, что любой встроенный метод делает это, но это не трудно, я делаю это как это:

  • Мы должны получить Корневой каталог приложения и заменить его в нашем новом пути с ~
  • , Мы должны преобразовать обратные косые черты в наклонные черты
<час>
public string ReverseMapPath(string path)
{
    string appPath = HttpContext.Current.Server.MapPath("~");
    string res = string.Format("~{0}", path.Replace(appPath, "").Replace("\\", "/"));
    return res;
}
25
ответ дан CMS 16 October 2019 в 07:06
поделиться
Другие вопросы по тегам:

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