2017-02-13 98 views
0

我想用C#/ MVC5與下面的文件夾結構,其中我的客戶來源是從服務器的人員分開單獨的客戶端源

  • 控制器
    • HomeController中創建一個Web應用程序的.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文件從默認的Views文件夾複製到我的客戶端文件夾中。

有此文件中的阻塞處理程序:

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

我所做的一切,我在我最初的帖子中說加除去此處理程序,它現在的偉大工程