2017-02-13 8 views
0

Я хочу создать веб-приложение, с помощью C#/MVC5 со следующей структурой папок, где мои источники клиентов отделены от них сервераSeperate источники клиентов из них сервера

  • Контроллеры
    • HomeController .cs
    • FooApiController.cs
  • Клиент
    • активы (папки)
      • изображения (папка)
        • logo.png
      • font.ttf
    • компоненты (папка)
      • Foo (папка)
        • fooService.js
    • index.cshtml
    • web.config (EDIT)

Я хочу, чтобы быть в состоянии назвать мои файлы Дифференц в клиентская папка, без папки «клиент», например:

<img src="assets/images/logo.png" /> 

вместо

<img src="client/assets/images/logo.png" /> 

Moreever, я хочу направить все другие файлы клиента/index.cshtml. I though about adding a route like this:

routes.MapRoute(
    name: "Default", 
    url: "{*anything}", 
    defaults: new { controller = "Home", action = "Index" } 
); 

HomeController.cs

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View("~/client/index.cshtml"); 
    } 
} 

и добавляющие правила, как указано в this post для каждой папки в моей папке клиента. например:

<rule name="client" stopProcessing="true"> 
     <match url="^assets/?(.*)$" /> 
     <action type="Rewrite" url="/client/assets/{R:1}" /> 
</rule> 

Проблема в том, что всякий раз, когда я пытался получить мой образ

http://localhost:49312/client/assets/images/logo.png 

или

// returns to http://localhost:49312/client/assets/images/logo.png 
http://localhost:49312/assets/images/logo.png 

я получаю 'Ressource не найден' ошибка

Каков правильный путь?

ответ

0

Я только что узнал, почему он не работал: Я скопировал файл web.config из папки представлений по умолчанию в папку моего клиента.

Был блокировку обработчика в этом файле:

<system.webServer> 
    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
</system.webServer> 

Я сделал все, что я сказал в моем первоначальном посте плюс удаление этого обработчика, и теперь он прекрасно работает

0
+0

Это могло бы быть решение, но я хочу, чтобы повторно использовать свои источники клиента в другом проекте (UWP HTML/JS) – KANAX

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

  • Нет связанных вопросов^_^