2015-08-27 65 views
0

我真的很迷惑它爲什麼不起作用。我搜查了但我沒有找到任何東西。非靜態字段,方法或屬性需要對象引用HttpContext.Server'

我寫ASP.NET的WebAPI,我已經在我的控制器

private void test() 
{  
    string pathApp = HttpContext.Server.MapPath("~/App_Data/MyFirstProject-db5185b5746d.p12"); 
} 

爲什麼會出現這個錯誤得到這個方法?這有什麼問題?

的對象引用需要非靜態字段,方法或屬性HttpContext.Server」

,或者如果你知道如何獲得路徑

應用程序數據/ MyFirstProject -db5185b5746d.p12

另一種方式,你可以在這裏發佈。

感謝您的幫助!

+3

您是否完全理解錯誤消息?目前尚不清楚你目前不瞭解的部分。請注意,'HttpContext.Server'是一個實例屬性。也許你想'HttpContext.Current.Server'? –

+0

男人感謝它幫助我,但我仍然不知道爲什麼每個人都應該在其他問題上發佈HttpContext.Server應該使用。 – Icet

+3

你應該看看這些答案的上下文 - 我懷疑當有一個屬性'HttpContext'返回當前的'HttpContext'時使用它們。 –

回答

1

由於錯誤消息表示Server不是靜態的。這意味着屬性屬於對象而不屬於類。創建一個HttpContext對象或從某處獲取它,並且您可以訪問Server-屬性:

private void test() 
{  
    HttpContext context = new HttpContext(); //or getX, maybe you need parameters 
    string pathApp = context.Server.MapPath("~/App_Data/MyFirstProject-db5185b5746d.p12"); 
} 
相關問題