为某些服务禁用动态 Web api
Disabling dynamic web api for certain services
我下载了 ASP 样板模板,我正试图禁用某些动态 WebAPI 的创建。我在 https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API 阅读了文档,但我找不到在模板中禁用它的位置。我正在使用 NET Core + Angular4 模板。
您可以使用属性 [RemoteService(false)] 来禁止创建应用程序服务的动态 Web api。您也可以在应用程序服务的方法上使用此属性。
[RemoteService(false)]
public interface IRoleAppService : IAsyncCrudAppService<RoleDto, int, PagedResultRequestDto, CreateRoleDto, RoleDto>
{
Task<ListResultDto<PermissionDto>> GetAllPermissions();
}
https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API#enabledisable
虽然 [RemoteService] 是禁用它的最简单方法,但您可以使用以下代码执行高级操作。
Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
.ForAll<IApplicationService>(Assembly.GetExecutingAssembly(), "app")
.ForMethods(builder =>
{
if (builder.Method.IsDefined(typeof(MyIgnoreApiAttribute)))
{
builder.DontCreate = true;
}
})
.Build();
我正在使用使用 EF Core 的 aspnetzero 模板。核心使用此处找到的略有不同的配置模块:
https://aspnetboilerplate.com/Pages/Documents/AspNet-Core#application-services-as-controllers
我想使用动态创建的实体 CRUD 方法,但不想公开删除和更新方法。所以,我只是在应用程序服务 class 中覆盖它们,并将 [RemoteService(False)]
属性添加到覆盖的方法中。这可以防止它们在 API.
中生成
我下载了 ASP 样板模板,我正试图禁用某些动态 WebAPI 的创建。我在 https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API 阅读了文档,但我找不到在模板中禁用它的位置。我正在使用 NET Core + Angular4 模板。
您可以使用属性 [RemoteService(false)] 来禁止创建应用程序服务的动态 Web api。您也可以在应用程序服务的方法上使用此属性。
[RemoteService(false)]
public interface IRoleAppService : IAsyncCrudAppService<RoleDto, int, PagedResultRequestDto, CreateRoleDto, RoleDto>
{
Task<ListResultDto<PermissionDto>> GetAllPermissions();
}
https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API#enabledisable
虽然 [RemoteService] 是禁用它的最简单方法,但您可以使用以下代码执行高级操作。
Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
.ForAll<IApplicationService>(Assembly.GetExecutingAssembly(), "app")
.ForMethods(builder =>
{
if (builder.Method.IsDefined(typeof(MyIgnoreApiAttribute)))
{
builder.DontCreate = true;
}
})
.Build();
我正在使用使用 EF Core 的 aspnetzero 模板。核心使用此处找到的略有不同的配置模块:
https://aspnetboilerplate.com/Pages/Documents/AspNet-Core#application-services-as-controllers
我想使用动态创建的实体 CRUD 方法,但不想公开删除和更新方法。所以,我只是在应用程序服务 class 中覆盖它们,并将 [RemoteService(False)]
属性添加到覆盖的方法中。这可以防止它们在 API.