名称'ConfigureAuth'不存在



VS 2015+所有更新。添加了一个带有身份验证(Identity)的ASP.Net项目目标-将项目划分为多个层。

图层:

DataAccess(所有数据库表、模型等)

BusinessLogic(CRUD操作)

Web类库(所以我不需要绑定DA和BL,我添加了一个额外的层来实现这一点)

ASP.Net Web应用程序

  1. 将模型文件夹移动到DA中
  2. 将IdentityConfig.cs移动到DA的根目录中
  3. 添加DA所需的所有引用,相应地更改命名空间。项目成功生成
  4. 将控制器文件夹移到BL中
  5. 添加BL所需的所有引用,相应地更改名称空间。项目成功生成
  6. 将BundleConfig、FilterConfig、RouteConfig和Startup.Auth移动到Web类库的根目录
  7. 添加web库所需的所有引用。项目成功生成
  8. 在Web应用程序中,我更改启动和

课堂和项目中的代码:

using Microsoft.Owin;
using Owin;
using Company.Web;
[assembly: OwinStartupAttribute(typeof(Startup))]
namespace Company.Web
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
             ConfigureAuth(app);
        }
    }
}

Startup.Auth中的代码

namespace Company.Web
{
    public partial class Startup
    {
        // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
        public void ConfigureAuth(IAppBuilder app)
        {
            // Configure the db context, user manager and signin manager to use a single instance per request

我得到错误

抑制状态错误CS0103当前上下文WebApplication1中不存在名称"ConfigureAuth"

我在"启动"上有一个歪歪扭扭的文字,上面有一条友好的信息:

〔assembly:OwinStartupAttribute(typeof(Startup))〕

"…."中的类型"Startup"。。。。WebApplication1\Startup.cs与"Company.Web,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"中导入的类型"Startup"冲突。使用"…."中定义的类型。。。。WebApplication1\Startup.cs'./em>

错误

CS0103当前上下文WebApplication1中不存在名称"ConfigureAuth"。。。。WebApplication1\Startup.cs

所以我四处研究,看到了一些链接,例如

名称configureauth不存在名称';ConfigureAuth';不存在于当前上下文中ASP.NET MVC OWIN和SignalR-两个Startup.cs文件

但我不知道我构建这个项目的方式是不正确的,还是我遗漏了一些明显的东西?

如果您使用默认的Visual Studio项目模板,ConfigureAuth方法可以在分部类Startup.Auth.cs中找到。因此,请确保在修改项目结构时没有破坏任何内容。

这是ConfigureAuth方法的一个示例:

// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
public void ConfigureAuth(IAppBuilder app)
{
    // Configure the db context and user manager to use a single instance per request
    app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
    // Enable the application to use a cookie to store information for the signed in user
    // and to use a cookie to temporarily store information about a user logging in with a third party login provider
    app.UseCookieAuthentication(new CookieAuthenticationOptions());
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
    // Configure the application for OAuth based flow
    PublicClientId = "self";
    OAuthOptions = new OAuthAuthorizationServerOptions
    {
        TokenEndpointPath = new PathString("/api/Token"),
        Provider = new ApplicationOAuthProvider(PublicClientId),
        AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
        AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
        AllowInsecureHttp = true
    };
    // Enable the application to use bearer tokens to authenticate users
    app.UseOAuthBearerTokens(OAuthOptions);
}

相关内容

  • 没有找到相关文章

最新更新