我有一個自託管的應用程序,其中設置了許多路由。而不是通過每一個,並改變路線爲/api/<route>
其中<route>
是現有的路線,我想知道如果我可以在啓動應用程序時用/api
前綴每個路線嗎?我知道它可能在IIS託管環境中設置爲web.config
,但我不確定它是否可以在自託管環境中使用?ServiceStack:更改自託管應用程序中所有路由的基本路徑
1
A
回答
4
根據this ServiceStack article你只需要通過配置來設置它,像這樣:
public override void Configure(Container container)
{
SetConfig(new HostConfig { HandlerFactoryPath = "api" });
}
再加上這answer from Mythz和你擁有屬於自己的自託管應用程序在/api/
:
_apphost.Start("http://localhost:1337/api/");
注意:這似乎適用於自託管的API,但它無法提供其剃刀頁面。所以這是不正確的。仍然,現在留下答案,直到找到完整的解決方案。
5
@ EliGassert的答案適用於ServiceStack v4自託管應用程序。這是更改ServiceStack v3自託管應用程序中所有路由的基本路徑的要求。
ServiceStack V3:
在你APPHOST Configure
方法,你需要設置ServiceStackHanderFactoryPath
到所需的前綴。
public override void Configure(Container container)
{
SetConfig(new EndpointHostConfig {
ServiceStackHandlerFactoryPath = "api"
});
}
當你設置你的聽衆,你還必須附加前綴:
appHost.Start("http://*:9000/api/");
希望有所幫助。
相關問題
- 1. ServiceStack多個路由路徑
- 2. 託管基於路由的Web應用程序
- 3. 如何在託管WCF應用程序的IIS 7中設置基本路徑?
- 4. iOS應用程序的基本路徑
- 5. Dropwizard路徑:獲取應用程序中的所有路徑
- 6. 更改相對路徑和絕對路徑的基本路徑
- 7. 更改基於路由器的應用程序狀態
- 8. 自動檢測PHP Laravel應用程序中的所有路由?
- 9. ServiceStack:獲取當前應用程序中所有受支持路由的列表
- 10. Angular 2路由應用程序託管在iframe中
- 11. 在PHP中更改基本路徑
- 12. 具有應用程序路由元素的深度路徑
- 13. 反應路由器與基路徑
- 14. 路徑路由應用程式
- 15. Webpack將所有url()路徑更改爲相同的路徑
- 16. 更改Django應用程序的Python程序包路徑
- 17. 基於路徑的多租戶RoR應用程序的URL路由
- 18. 用於更改服務路徑的託管API
- 19. Angular 2,在應用程序中路由URL路徑
- 20. PHP應用程序中的基本路由
- 21. ASP.NET Web Api路由(IIS vs自託管)
- 22. 更改Tomcat中的應用程序的路徑6
- 23. 根據修改3中的URI路徑更改路由文件
- 24. 反應路由器V3 - 嵌套路由組件卸載路徑參數更改
- 25. ServiceStack中的REST路由
- 26. 更改IIS 7應用程序的物理路徑編程
- 27. 獲取註冊表中所有應用程序的路徑
- 28. 抓住燒瓶中的所有路徑應用程序
- 29. StreamReader路徑自動更改
- 30. Drupal自動更改路徑
是的,我正在與Jabbr的@Eli Gassert談論此事。我試了一下,然後我的index.html頁面加載失敗,當我導航到/index.html或/api/index.html時返回了404,因此他做了一個筆記。 – CallumVass
@BiffBaffBoff好的,一秒鐘,我想我也可以解決這個問題。我有一個傾向,那是什麼。讓我來做一個測試。 – Scott
理想情況下,我願意服務於根目錄的靜態HTML,然後是/ api上的所有服務 – CallumVass