在我问我的问题之前,我已经浏览了以下帖子:
- 重命名 ASP.NET 项目文件和问题中提到的所有帖子 后,无法让 OWIN Startup 类在 IIS Express 中运行。
- OWIN 启动检测
- web.config 中需要 OwinStartupAttribute 来纠正服务器错误 #884
- 未检测到 OWIN 启动类
这是我项目的文件夹布局:
启动.cs
using System;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Bootstrapper.Startup))]
namespace Bootstrapper
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.Run(async context =>
{
await context.Response.WriteAsync(GetTime() + " My First OWIN App");
});
}
string GetTime()
{
return DateTime.Now.Millisecond.ToString();
}
}
}
网页配置
<appSettings>
<add key="owin:AutomaticAppStartup" value="true" />
<add key="owin:appStartup" value="Bootstrapper.Startup" />
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
我在项目中有以下参考Bootstrapper
:
- 微软.Owin
- Microsoft.Owin.Host.SystemWeb
- 欧文
- 系统
- 系统核心
更新:
忘记添加错误消息:
现在,
- 为什么它不工作?
Owin Startup
在一个非常基本的项目(如访问)中添加和使用类的分步过程是Home/Index
什么?- 如何以及何时
Owin Startup
调用/执行类中的配置方法?
更新: 2016 年 12 月 10 日
检查Project-Folder-Layout
. 在Bootstrapper
项目中,我有以下文件:
IocConfig.cs
[assembly: PreApplicationStartMethod(typeof(IocConfig), "RegisterDependencies")]
namespace Bootstrapper
{
public class IocConfig
{
public static void RegisterDependencies()
{
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());
builder.RegisterModule<AutofacWebTypesModule>();
builder.RegisterType(typeof(MovieService)).As(typeof(IMovieService)).InstancePerRequest();
builder.RegisterType(typeof(MovieRepository)).As(typeof(IMovieRepository)).InstancePerRequest();
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
}
}
}
现在我想IocConfig.RegisterDependencies()
在OWIN Startup
课堂上执行。我在顶部做using Bootstrapper
,Startup
但它不工作。我的意思是我无法IocConfig
在Startup
. 如何解决这个问题?