0
나는 이것이 어떻게 100 % 작동하는지 이해하지 못하는 "Hello World"앱을 호스팅했다. 나는이 응용 프로그램 app.Run
에 정의 된 Func
로하고있어 각 요청에 대해 왜 내 AppFunc는 각 요청에 대해 두 번 호출됩니까?
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;
});
}
}
}
두 번, 왜 그렇게 실행?
브라우저를 사용하여 요청하시는 것입니다. 때로는 브라우저가 fav.ico 파일에 두 번째 요청을 보내면 appfunc가 두 번 호출되는 이유가 될 수 있습니다. 정확한 이유를 알기 위해서는 app.Run()에서 각 요청에 대한 요청 경로를 인쇄 해보십시오. 예를 들어 context.Request.Path.Value를 인쇄하여이를 수행 할 수 있습니다. – Praburaj
그 이유가 들리 네요. 나중에 다시 확인하겠습니다. 감사. –