台灣最大程式設計社群網站
線上人數
828
 
會員總數:245973
討論主題:189551
歡迎您免費加入會員
討論區列表 >> Blog精華文章 >> 在WCF取得伺服器上的實體路徑
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
在WCF取得伺服器上的實體路徑
價值 : 0 QP  點閱數:653 回應數:0
樓主

擺渡人 版主
初學者
741 83
2631 316
發送站內信

捐贈 VP 給 擺渡人

Web Service還沒用多少次,竟然發現微軟到了.Net Framework 4.0以後就找不到Web Service這種專案了,取得代之的就是WCF,沒辦法,只好再次學習新東西,讓我再次體悟到資訊人的悲哀,除非是專門在研究技術的, 不然一般企業的MIS,哪有那些餘力一直追這些新技術啊,更何況是兩三年就改一次,難怪有人要感嘆賣雞排比IT人好多了,話不多說,事情還是得做,開工吧。

第一支WCF,想要利用以前寫程式的經驗,將資料寫在文字檔中當範本,這樣就不用在程式中一直組字串,結果當我輸入Request時,竟然找不到我熟悉的PhysicalApplicationPath,想說透過HttpContext.Current來取得,結果還是不行,只好上網找方法了。

結果有兩種做法:

第一種,修改web.config

因為WCF預設並未開啟ASP .NET相容模式,所以不支援HttpContext及HttpApplication,所以必須要在web.config裡把aspNetCompatibilityEnabled屬性設為true,然後在WCF Service的實作類別上加入AspNetCompatibilityRequirements的attribute,這樣就可以在WCF Service中用HttpContext.Current.Server.MapPath("~/")來取得路徑。

第二種,使用HostingEnvironment

如果不想修改web.config,可以考慮使用System.Web.Hosting.HostingEnvironment.MapPath("~"),這樣的做法在WCF或ASP.NET都可支援。


本篇文章發表於2011-12-23 14:32
目前尚無任何回覆
   

回覆
如要回應,請先登入.