猿问

基于 Owin 的身份验证 - 在 Web api 中找不到“配置”方法

我以前从未从事过身份验证工作,想学习 asp.net web api 中的身份验证

我创建了一个项目,

但我收到以下错误

尝试加载应用程序时发生以下错误。- 在“OwinBasedToken.Startup、OwinBasedToken、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null”类中找不到“配置”方法。要禁用 OWIN 启动发现,请在 web.config 中添加值为“false”的 appSetting owin:AutomaticAppStartup。要指定 OWIN 启动程序集、类或方法,请在 web.config 中添加带有完全限定启动类或配置方法名称的 appSetting owin:AppStartup。

描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.EntryPointNotFoundException:尝试加载应用程序时发生以下错误。- 在“OwinBasedToken.Startup、OwinBasedToken、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null”类中找不到“配置”方法。要禁用 OWIN 启动发现,请在 web.config 中添加值为“false”的 appSetting owin:AutomaticAppStartup。要指定 OWIN 启动程序集、类或方法,请在 web.config 中添加带有完全限定启动类或配置方法名称的 appSetting owin:AppStartup。

这是我的代码

WebApiConfig.cs

using System.Web.Http;


namespace OwinBasedToken

{

    public static class WebApiConfig

    {

        public static void Register(HttpConfiguration config)

        {

            // Web API configuration and services


            // Web API routes

            config.MapHttpAttributeRoutes();


            config.Routes.MapHttpRoute(

                name: "DefaultApi",

                routeTemplate: "api/{controller}/{id}",

                defaults: new { id = RouteParameter.Optional }

            );

        }

    }

}

启动.cs


using Microsoft.Owin;

using Microsoft.Owin.Security.OAuth;

using Owin;

using OwinBasedToken.Provider;

using System;

using System.Web.Http;


[assembly: OwinStartup(typeof(OwinBasedToken.Startup))]


namespace OwinBasedToken

{

    public class Startup

    {

        public void configuration(IAppBuilder app)

        {

            HttpConfiguration config = new HttpConfiguration();

            configureOAuth(app);


            WebApiConfig.Register(config);

            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

            app.UseWebApi(config);

        }


我只是想知道,我在这里做错了什么?


我错过了什么吗?

喵喔喔
浏览 140回答 2
2回答

倚天杖

改变你的编码约定。在 C# 中,我们使用“PascalCase”。将您的配置和configurationOauth方法修复为Configuration和ConfigurationOauth(可选)以进行工作。祝你好运。

德玛西亚99

您需要定义Configuration,而不是configuration:    public void Configuration(IAppBuilder app)    {        HttpConfiguration config = new HttpConfiguration();        configureOAuth(app);        WebApiConfig.Register(config);        app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);        app.UseWebApi(config);    }
随时随地看视频慕课网APP
我要回答