我尝试运行自己的网页时遇到错误,
名称' ConfigureAuth'在当前上下文中不存在
在我的Stratup
班级。我确定已安装所有AspNet Identity
个库。接下来我需要做些什么来尝试解决这个问题?
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(project_name.Startup))]
namespace project_name
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
答案 0 :(得分:7)
如果您使用默认的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);
}
答案 1 :(得分:7)
我有类似的问题,为了解决我在Startup.Auth.cs文件中从名称空间中删除.App_Start的问题。之后,我能够看到参考。
答案 2 :(得分:2)
它是:
[assembly: **OwinStartup**(typeof(Project-Name.Startup))]
namespace project-name
{
public partial class Startup
{
public void **Configuration**(IAppBuilder app)
{
OR
[assembly: **OwinStartupAttribute**(typeof(Project-Name.Startup))]
namespace project-name
{
public partial class Startup
{
public void **ConfigureAuth**(IAppBuilder app)
{
将OwinStartupAttribute重命名为OwinStartup 或配置到ConfigureAuth
答案 3 :(得分:1)
请注意,两个部分类( Startup.Auth.cs 和 Startup.cs )应位于同一名称空间中,该名称空间是项目的根目录,只需将 Startup.Auth.cs 的命名空间更改为 Startup.cs
的相同命名空间答案 4 :(得分:0)
确保最初创建项目时名称中没有空格。 例如我的应用程序被称为&#34; DevOps Test&#34;我跑的时候给了我错误。 我将它重新创建为&#34; DevopsTest&#34;并且不再有这些问题
答案 5 :(得分:0)
命名空间PAYOnline.App_Start
仅删除App_Start名称空间PAYOnline =>一切顺利