2012-12-05 25 views
1

ReSharper說:「當我訪問HttpContext.Current.Request.UserHostAddress(它位於try/catch塊中)時,檢查'UserHostAddress'是否爲空'。ReSharper幫助:可能的NullReferenceException

在另一種方法來獲得從請求對象以下屬性:

HttpContext.Current.Request.RawUrl

如何ReSharper的決定或「知道」請求不能被null?或者Current?或者HttpContext

也許這是這個框架對象鏈的一個壞例子,但我認爲你明白了。

回答

3

R#使用其包含的External Annotations爲.NET Framework中的類型(如您提到的ASP.NET類)提供這些代碼註釋。

爲什麼Jetbrains註釋例如HttpContext.Current可爲空是因爲在控制檯應用程序(沒有HTTP上下文的應用程序)HttpContext.Current返回null

+0

但我可以信任R#嗎?我真的只需要檢查HttpContext.Current而不是HttpContext之前和HttpContext.Current.Request之後?我的意思是如果我真的在我面前有這樣一個物體鏈。 – timmkrause