簡體   English   中英

c#從基本apicontroller派生 - 在基類中,Request對象為null

[英]c# deriving from a base apicontroller - in the base class the Request object is null

我有一些具有類似行為的api控制器。 我已經創建了一個公共基類,它本身就是一個api控制器。 在我的派生類中,我有一些假設應該在基本api控制器中解決(例如一些常見的頭值)。 但我的問題是在基礎ApiController中“請求”對象為空!

為什么這樣,我該如何解決? (在構造派生類時非常重要,因為我根據標題值分配值)

代碼示例

BaseClass : ApiController
{
public BaseClass()
{
  _header1 =  Request.Headers.GetValues("header1");
}
}

DerivedClass : BaseClass
{
// getting error here because the base class isn't constructed because the Request object is null! and errors are thrown
}

這與繼承無關,它與ApiController尚未初始化的事實有關,並且您正嘗試從構造函數訪問Request對象。

如果你需要在你的控制器中初始化一些東西,你應該覆蓋Initialize方法並在那里進行(記得調用基礎!)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM