asp.net - 将参数传递给 OData 服务初始化
问题描述
我得到了一个使用 .NET 核心实现的 OData 服务,它在 startup.cs 文件的初始化中有这一部分:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
try
{
app.UseMvc(routeBuilder =>
{
...
routeBuilder.MapODataServiceRoute(
routeName: "name",
routePrefix: ModelConstants.RoutePrefix,
configureAction: containerBuilder =>
{
...
containerBuilder.AddService<IODataQueryProcessor>(ServiceLifetime.Singleton, typeof(DefaultODataQueryProcessor));
...
}
如何将参数传递给DefaultODataQueryProcessor
具有带参数的构造函数?
解决方案
根据您的描述,我建议您可以尝试以下代码:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapODataServiceRoute(
routeName: "name",
routePrefix :"aaa",
configureAction: containerBuilder => {
containerBuilder.AddService<IODataQueryProcessor>(Microsoft.OData.ServiceLifetime.Singleton, serviceProvider => {
return new DefaultODataQueryProcessor("someString");
} );
}
);
});
推荐阅读
- python - 如何在python中删除和弹出矩阵?
- amazon-web-services - 使用 GLUE ETL JOB 将外部供应商 AWS 账户中的数据从 Redshift 复制到我们的 AWS 账户
- python - 使用 df.itertuples() 和列名访问 pandas 单元格值会给出 AttributeError
- python - 它说 NameError: name 'Doctor' is not defined 当我尝试执行
- sql - 无法按一年中的一周显示带有数据透视表的票数
- sql - 添加索引是否会加快字符串通配符百分比搜索?
- android - 如何添加 Android 意图以在 Cordova/Ionic 项目中打开谷歌地图?
- julia - 不符合 automerge 准则——创建 Julia 包
- javascript - 如何将 oracledb (v 5.2.1) 与 typescript(ES6) 连接?
- npm - 以下 npm install 语句有什么区别?