为什么我的AppFunc为每个owin请求调用了两次?

时间:2013-10-26 17:34:02

标签: owin

我有这个简单的自我托管“Hello World”应用程序,我不明白它是如何100%工作的。

namespace HelloOwin
{
    using System;
    using Microsoft.Owin.Hosting;
    using Owin;
    using AppFunc = System.Func<System.Collections.Generic.IDictionary<string, object>, System.Threading.Tasks.Task>;

    class Program
    {
        static void Main(string[] args)
        {
            using(WebApp.Start<Startup>(url: "http://localhost:9765/"))
            {
                Console.ReadLine();
            }
        }
    }

    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.Run(context =>
            {
                var task = context.Response.WriteAsync("Hello world!");
                return task;
            });
        }
    }
}

对于我正在对此应用程序执行的每个请求,Func中定义的app.Run运行两次,为什么会这样?

1 个答案:

答案 0 :(得分:0)

预初始化调用仅指在启动时调用configureapp之前要执行的一些代码。你可以做一些需要这个或一些记录的操作真的取决于你的要求。