我有一個ASP.net網站,基本上只是我創建的類庫的用戶界面。此類庫中的每個類都包含一個靜態定義類,其中包含對編譯查詢的靜態引用。ASP.net性能和編譯查詢
像這樣:
class MyRecord
{
/*Some Properties,Fields, and Methods*/
internal static class Queries
{
public static Func<MyDataContext, MyRecord> ACompiledQuery =
CompiledQuery.Compile<MyDataContext, MyRecord>(
(MyDataContext db) =>
from mr in db.MyRecords
select mr);
}
}
鑑於這種結構,給每一個web頁面引用這個庫,我有幾個問題
問題1:到IIS Web服務器的每個請求實質上開始一個新線程,對嗎?
問題2:如果是這樣,這是否意味着對於每個請求我最終重新編譯這些查詢?
問題3:有沒有辦法減少我重新編譯這些查詢的次數?