OWIN/Katana 자체 호스팅 서비스 응용 프로그램이 있습니다. WebAPI를 통해 일부 데이터를 처리하는 기능 중 하나입니다. 이 응용 프로그램에서 데이터를 검색하고 그것을 요청한 API 컨트롤러에 전달하는 담당하는 dataManager라는 클래스가 있습니다. 데이터가 궁극적으로 모바일 플랫폼에 제공되므로 성능을 위해 가능한 한 많이 캐시하는 것이 매우 중요합니다. 응용 프로그램 시작시 내 DataManager를 미리로드하고 linq 쿼리를 미리 실행하는 방법이 있습니까?OWIN 자체 호스팅 응용 프로그램에서 데이터를 미리로드하는 방법
는 응용 프로그램 클래스는 다음과 같습니다
namespace TaskManager
{
using Topshelf;
internal class Program
{
private static int Main()
{
var exitCode = HostFactory.Run(host =>
{
host.Service<TaskManagerApplication>(service =>
{
service.ConstructUsing(() => new TaskManagerApplication());
service.WhenStarted(a => a.Start());
service.WhenStopped(a => a.Stop());
});
host.SetDescription("Task Manager");
host.SetDisplayName("Task Manager");
host.SetServiceName("TaskManager");
host.RunAsNetworkService();
});
return (int) exitCode;
}
}
}
그리고이 같은 DataManager에 클래스 모양에 포함 된 데이터 검색 문 :
var rawData = from data in new XPQuery<AccountView3.PipelineData>(uow)
where data.Stage.ToLower().Contains("won")
&& data.RevenueStartDate.Value.Year == DateTime.Today.Year
&& data.WeekOfTheYear >= priorWeekCutoff
select data;
namespace TaskManager
{
using System;
using Microsoft.Owin.Hosting;
public class TaskManagerApplication
{
protected IDisposable WebApplication;
public void Start()
{
WebApplication = WebApp.Start<WebPipeline>("http://*:8080");
}
public void Stop()
{
WebApplication.Dispose();
}
}
}
프로그램 클래스는 다음과 같습니다
감사합니다. 나는 그것을 빨리 시험해 보게 확실 할 것이다 –
그것은 너를 위해 잘 되었는가? 그렇지 않다면 알려주세요. – biscuit314