亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當(dāng)前位置:首頁(yè) > IT技術(shù) > Windows編程 > 正文

              ASP.NET WebAPI項(xiàng)目中apiController控制器中怎樣獲得當(dāng)前項(xiàng)目根目錄
              2022-09-06 22:45:26


              在MVC項(xiàng)目中的時(shí)候,獲取當(dāng)前項(xiàng)目的根目錄非常容易,我們經(jīng)常會(huì)使用

              Server.MapPath("~/");


              但是在WebAPI的控制器中為什么就沒有了呢?

              后來研究發(fā)現(xiàn)應(yīng)該是因?yàn)?/p>

              public class OrderController : ApiController


              ----

              專門建了一個(gè)MVC項(xiàng)目去追蹤Server.MapPath()的命名空間,后來找到一種方法。

              其實(shí)這個(gè)方法就是Controller實(shí)例下的一個(gè)屬性(但不是apiController),因此我們實(shí)例化一個(gè)Controller就行了。

              如下即可:

              System.Web.Mvc.Controller controller = new HomeController();
              var curProjRootPath = controller.Server.MapPath("~/");


              ==========

              拓展:

              如果在一個(gè)非網(wǎng)頁(yè)項(xiàng)目中,比如一個(gè)winform項(xiàng)目中,想要同樣獲取項(xiàng)目根目錄怎么辦,我推測(cè)是項(xiàng)目中引用System.Web.Mvc即可,因?yàn)榭梢詫?shí)例化一個(gè)Controller了。剩下的你懂的。


              =========================

              看了上面的內(nèi)容,如果你去試了,你回頭可能要罵我了,因?yàn)槲野l(fā)現(xiàn)我上面說的是錯(cuò)的。

              但不論如何,我終究還是找到了。

              如下:


              var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/");



              本文摘自 :https://blog.51cto.com/u

              開通會(huì)員,享受整站包年服務(wù)立即開通 >