我有两个应用程序,ASP.NET Core Web APP(应用程序1)和.NET CORE API(应用程序2)。我在(应用程序 1)中发出 AntiForgeryToken 并将其以隐藏字段的形式返回(实际上 .netcore 自动生成)。现在,当用户提交表单时,数据将转到(应用程序 2)并使用 CORS,我能够将(应用程序 1)发出的 AntiForgeryToken 的 cookie 发送到(应用程序 2),以便我可以验证它并在(应用程序 2)上进行验证添加了 validateAntiFOrgeryToken 属性,以便我可以验证它。下面是我在 chrome 开发工具响应选项卡上收到的错误。
\n\n我尝试了一切并搜索了所有内容,但这个特定错误无法找到答案。
\n\nSystem.InvalidOperationException: No service for type \'Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.ValidateAntiforgeryTokenAuthorizationFilter\' has been registered.\n at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)\n at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)\n at Microsoft.AspNetCore.Mvc.ValidateAntiForgeryTokenAttribute.CreateInstance(IServiceProvider serviceProvider)\n at Microsoft.AspNetCore.Mvc.Filters.DefaultFilterProvider.ProvideFilter(FilterProviderContext context, FilterItem filterItem)\n at Microsoft.AspNetCore.Mvc.Filters.DefaultFilterProvider.OnProvidersExecuting(FilterProviderContext context)\n at Microsoft.AspNetCore.Mvc.Filters.FilterFactory.CreateUncachedFiltersCore(IFilterProvider[] filterProviders, ActionContext actionContext, List`1 filterItems)\n at Microsoft.AspNetCore.Mvc.Filters.FilterFactory.GetAllFilters(IFilterProvider[] filterProviders, ActionContext actionContext)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerCache.GetCachedResult(ControllerContext controllerContext)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerProvider.OnProvidersExecuting(ActionInvokerProviderContext context)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionInvokerFactory.CreateInvoker(ActionContext actionContext)\n at Microsoft.AspNetCore.Mvc.Routing.ActionEndpointFactory.<>c__DisplayClass7_0.<CreateRequestDelegate>b__0(HttpContext context)\n at …
Run Code Online (Sandbox Code Playgroud) cross-domain asp.net-core-mvc .net-core asp.net-core asp.net-core-webapi
这段代码正确地与我合作,但是这是怎么回事?我是如何制作4个JMenu
同名的对象(菜单)?我需要理解即使它有效,这段代码是编写代码的好方法还是更好?
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Window extends JFrame {
private static final String TITLE = "DevTools";
private static final int WIDTH = 800;
private static final int HEIGHT = 600;
private JMenuBar menubar;
private JMenu menu;
private JMenuItem menuitem;
private String[] menu_titles = {"File", "Edit", "Diagrams", "Help"};
public Window(){
init();
createMenu();
}
public void init(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setExtendedState(MAXIMIZED_BOTH);
this.setResizable(true);
this.setSize(WIDTH, HEIGHT);
this.setLocationRelativeTo(null);
this.setTitle(TITLE);
}
public void createMenu(){
menubar = new JMenuBar();
setJMenuBar(menubar);
for(int …
Run Code Online (Sandbox Code Playgroud)