Общие сценарии оболочки часто должны находить свой "домашний" каталог, даже если они вызываются как символьная ссылка. Сценарий таким образом должен найти их "реальное" положение всего от 0$.
cat `mvn`
на моей системной печати сценарий, содержащий следующее, которое должно быть хорошим намеком, в чем Вы нуждаетесь.
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
Это, как и другие специфичные для MVC настройки, не может быть изменено через Web.config. Но у вас есть два варианта:
Переопределить Controller.Json (object, строка, кодировка) для вызова Json (объект, строка, кодировка, JsonRequestBehavior), передавая JsonRequestBehavior.AllowGet в качестве последнего аргумента. Если вы хотите, чтобы это применялось ко всем контроллерам, сделайте это внутри абстрактного базового класса контроллера, а затем сделайте подкласс всех ваших контроллеров этого абстрактного класса.
Создайте метод расширения MyJson (this Controller, ...), который создает JsonResult и устанавливает соответствующие свойства, а затем вызывает его из вашего контроллера через this.MyJson (...).
Блок MVC 2 Json для запросов GET по соображениям безопасности. Если вы хотите переопределить это поведение, проверьте перегрузку для Json, которая принимает параметр JsonRequestBehavior.
public ActionResult Index()
{
return Json(data, JsonRequestBehavior.AllowGet)
}