2015-08-01 3 views
0

У меня есть два приложения ASP.NET MVC5: A и B. Оба сайта хотят получить доступ к папке с именем C. Эта папка находится за пределами этих проектов. Таким образом, структура папок:Папка доступа ASP.NET MVC5 за пределами проекта

- /корень

------ сайт файлы

------ B сайт файлы

------ C файлов, которые хотели бы по этим сайтам

(Папка C содержит в основном изображение es.)

Так что я хочу отображать изображения из папки C на сайте A и на сайте B.

Но если я установил исходный атрибут тега img на «/ C/...» на сайте A, это означает «/ A/C/...», и, конечно, файл не будет найден.

Как я мог достичь своей цели?

Спасибо за помощь! :)

ответ

0

Если у вас есть сайт A как виртуальный каталог и сайт B как виртуальный каталог, и оба они находятся в веб-приложении, которое выполняется как root для домена. Если это так, вы можете установить относительный путь к корню для ресурсов, таких как изображения, как вы упомянули.

Установка корневого пути, начинающегося с /, будет работать, так как он укажет на корень. Но если вы запустите свое приложение A, используя свой собственный домен (а не под корневым доменом), используя корневой путь, укажите корень приложения A, а не на сайт B.

Вы можете проверить это, установив сайт A как виртуальный каталог на вашем локальном IIS в рамках веб-приложения по умолчанию. Веб-приложение по умолчанию может быть достигнут http://localhost. Если виртуальный каталог называется SiteA, вы можете связаться с ним с помощью http://localhost/SiteA. Если вы используете относительный путь ротора, начиная с /, он всегда будет указывать на http://localhost. Таким образом, в этой настройке вы можете найти любое другое место, которое находится под http://localhost, и это виртуальные каталоги, включая SiteC (как виртуальный каталог).

+0

Сайт A и сайт B используют разные домены. A aaaa.com, B - bbbb.com. C не является а только папка, содержащая изображения, используемые как сайтами aaaa.com, так и bbbb.com. Представьте себе изображение ball.jpg в папке C (его полный путь /C/ball.jpg на сервере). Я хочу, чтобы отображал изображение ball.jpg правильно, как на сайте A, так и на сайте B. – Baros

+0

Я думаю, что C должен быть размещен где-то на CDN, или вы должны разместить его на домене ccc.com, а затем вы возможно, удастся выполнить запрос AJAX на ccc.com с сайта aaa.com или bbb.com для получения этих ресурсов. – Novice

+0

Да, это хорошая идея. :) Я попробую. Спасибо! – Baros

0

Зависит от места размещения папки C. Если он размещен вне приложений A и B, вы можете создать другой проект как общий и включить свою папку C в этот проект, а затем добавить ссылку на эту папку C в A и B отдельно.

+0

C папка находится рядом с A и B. Таким образом, их родители одинаковы. – Baros

+0

Если речь идет только о доступе через папку внутри одного и того же корня, вы можете использовать относительный путь. Сначала выйдите из текущей папки, используя ../, скажем, если вы находитесь в папке A и внутри папки, вы находитесь в папке с именем Страницы, похожие на это - A - Страницы (ваше текущее положение) use ../../ это выведет вас из папки Pages, после чего оно выведет вас из папки A, а затем введите вашу папку C, как это ../../A/C/Content/Images ../поможет вам сделать шаг назад из вашей текущей папки. Надеюсь, это поможет – Novice

+0

К сожалению, эта ситуация не так проста.:(A и B используют разные домены, а C находится за пределами обоих доменов, поэтому я не могу относиться к нему относительно. – Baros

Смежные вопросы