чаши Грааля base.dir системное свойство

для асинхронности необходимо добавить событие GetDataCompleted и метод.

service1Client.GetDataCompleted += service1Client_GetDataCompleted;
public void service1Client_GetDataCompleted(object sender, wsService1.GetDataCompletedEventArgs e)
{
   string Data = e.Result.ToString();
}
5
задан cweston 16 February 2016 в 15:15
поделиться

2 ответа

Спасибо j,

Я нашел лучшее динамическое решение возможным. Как правило, мне никогда не нравится кодировать полные пути в любую часть программного обеспечения. Файл свойств или нет.

Таким образом, вот то, как это сделано:

def basePath = grailsAttributes.getApplicationContext().getResource("/files/").getFile().toString() 

grailsAttributes доступен в любом контроллере.

getResource (некоторый относительный dir) будет искать что-либо в папке веб-приложения.

Так, например, в моей dev системе это будет toString к "C:\WORKSPACEFOLDER\PROJECTFOLDER\web-app\ с относительным dir concated в конец

как так в моем примере выше C:\WORKSPACEFOLDER\PROJECTFOLDER\web-app\files

Я попробовал его в, БЫЛ 6.1, и это не работало в контейнере никакие проблемы. У Вас есть к toString он, или это попытается возвратить объект.

mugafuga

4
ответ дан 18 December 2019 в 14:52
поделиться

Grails, когда это выполняется в dev режиме, обеспечивает большое количество свойств среды к ее сценариям Gant и приложению в свою очередь, включая basedir.

Смотрите на grails.bat или grails.sh сценарий, и Вы найдете эти строки:

Unix: -Dbase.dir="." \
Windows: set JAVA_OPTS=%JAVA_OPTS% -Dbase.dir="."

Когда эти сценарии запускают Вашу среду в dev режиме, Вы добавили их бесплатно.

Когда Вы берете ВОЙНУ и развертываете Вас, больше не используют эти сценарии, и поэтому необходимо решить проблему иначе; Вы можете также

  1. Укажите свойство сами к сценарию запуска для сервера приложений, например:-Dbase.dir =./some/dir.. однако
    • ... обычно имеет больше смысла использовать Объект конфигурации Grails, который допускает свойства на среду
3
ответ дан 18 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

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