К сожалению, для этого вам нужно создать собственное действие. Кажется, что это просто простое немедленное действие, которое состоит в том, чтобы найти правильный путь к каталогу и поместить его в свойство.
ОБНОВЛЕНИЕ: пример кода C # для этого может выглядеть следующим образом:
DirectoryEntry website = new DirectoryEntry(string.Format("IIS://localhost/w3svc/{0}/Root", siteID));
if (website != null)
{
string sitePath = website.InvokeGet("Path") as string;
if (sitePath != null)
{
session["SITE_PATH"] = sitePath;
return ActionResult.Success;
}
}
return ActionResult.Failure;
Предполагается, что вы знаете идентификатор сайта в некотором роде. Если это не всегда веб-сайт по умолчанию, лучше позволить пользователю выбирать, например. Но это другая история.
Также обратите внимание, что этот код требует специальных прав доступа к DirectoryEntry - обычному пользователю недостаточно.
Надеюсь, это поможет.