相关疑难解决方法(0)

如何以及何时调用/执行OwinStartup类中的Configuration方法?

在我提出问题之前,我已经阅读了以下帖子:

  1. 重命名ASP.NET项目文件和问题中提到的所有帖子后,无法让OWIN Startup类在IIS Express中运行.
  2. OWIN启动检测
  3. web.config中需要OwinStartupAttribute以更正服务器错误#884
  4. 未检测到OWIN启动类

这是我项目的文件夹布局:

在此输入图像描述
目前没有控制器或视图.只是Owin Startup文件.


Startup.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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Web.config文件

<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" /> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc-4 owin owin-middleware

11
推荐指数
1
解决办法
2万
查看次数

为什么所需的Startup类不需要实现适当的接口,比如IStartup?

使用katana,为什么Startup类不应该实现相应的接口,例如:

interface IStartup
{
  void Configuration(IAppBuilder app);
}

public class MyStartup : IStartup
{
    public void Configuration(IAppBuilder app)
    {
       ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为开发人员可以更直观地了解他们应该为WebApp.Start<T>方法提供什么作为T参数而不是猜测和寻找示例,它应该更明确:

public void Start<T>() where T : IStartup
Run Code Online (Sandbox Code Playgroud)

c# owin katana

5
推荐指数
1
解决办法
741
查看次数

标签 统计

c# ×2

owin ×2

asp.net-mvc-4 ×1

katana ×1

owin-middleware ×1