在 api 控制器初始化之前设置参数
Setting Parameters before api Controller initializes
我试图在我的 apiController 构造函数中传递用于数据库连接的参数。
例如,默认情况下,在我的 baseAPIController 中,我需要代码为“1”。但是在这个特定的控制器中,我需要将该参数更改为“7”。
问题是我的 BaseAPIController 实例化为“1”,实例化后即使我在 属性 中发送“7”它也不会改变。
如何在初始化 baseAPI 之前在此特定控制器中设置“7”?
public class ListagemProjetoEletricoWebController :BaseAPIController<ListagemProjetoEletricoBusiness>
{
public List<ListagemProjeto> Get(String cpf)
{
business.idEmpresa = 7;
List<ListagemProjeto> listProjetoEletricoWeb = business.GetProjetoEletricoLista(cpf);
return listProjetoEletricoWeb;
}
}
在我的 baseAPIcontroller 中我有。
protected override void Initialize(HttpControllerContext controllerContext)
{
this.business = new TBusiness();
this.business.idEmpresa = 1;
this.business.db = new BaseBusiness(this.business.idEmpresa).db;
base.Initialize(controllerContext);
}
在您的基地 class 中创建一个虚拟 属性 来代表 idEmpresa
public class BaseAPIController
{
//Set the default to whatever it is used normally
public virtual int idEmpresa { get {return 1;} }
}
然后在派生的 class 中覆盖 属性
public class ListagemProjetoEletricoWebController :BaseAPIController<ListagemProjetoEletricoBusiness>
{
public override int idEmpresa { get { return 7;} }
}
然后,当您设置您的企业 idEmpresa 时,请改用 属性
this.business.idEmpresa = this.idEmpresa;
我试图在我的 apiController 构造函数中传递用于数据库连接的参数。 例如,默认情况下,在我的 baseAPIController 中,我需要代码为“1”。但是在这个特定的控制器中,我需要将该参数更改为“7”。 问题是我的 BaseAPIController 实例化为“1”,实例化后即使我在 属性 中发送“7”它也不会改变。 如何在初始化 baseAPI 之前在此特定控制器中设置“7”?
public class ListagemProjetoEletricoWebController :BaseAPIController<ListagemProjetoEletricoBusiness>
{
public List<ListagemProjeto> Get(String cpf)
{
business.idEmpresa = 7;
List<ListagemProjeto> listProjetoEletricoWeb = business.GetProjetoEletricoLista(cpf);
return listProjetoEletricoWeb;
}
}
在我的 baseAPIcontroller 中我有。
protected override void Initialize(HttpControllerContext controllerContext)
{
this.business = new TBusiness();
this.business.idEmpresa = 1;
this.business.db = new BaseBusiness(this.business.idEmpresa).db;
base.Initialize(controllerContext);
}
在您的基地 class 中创建一个虚拟 属性 来代表 idEmpresa
public class BaseAPIController
{
//Set the default to whatever it is used normally
public virtual int idEmpresa { get {return 1;} }
}
然后在派生的 class 中覆盖 属性
public class ListagemProjetoEletricoWebController :BaseAPIController<ListagemProjetoEletricoBusiness>
{
public override int idEmpresa { get { return 7;} }
}
然后,当您设置您的企业 idEmpresa 时,请改用 属性
this.business.idEmpresa = this.idEmpresa;