4
我想知道如何在Web服務C#類的構造函數中初始化一些靜態變量,以便每次調用Web方法都可以使用這些變量的內容。例如,我想從數據庫加載一些數據並將其用於Web方法。這樣的靜態變量將是隻讀的。目的是讓這些值只加載一次。或者每次調用Web方法時都會執行構造函數?如何在Web服務中初始化靜態變量
我想知道如何在Web服務C#類的構造函數中初始化一些靜態變量,以便每次調用Web方法都可以使用這些變量的內容。例如,我想從數據庫加載一些數據並將其用於Web方法。這樣的靜態變量將是隻讀的。目的是讓這些值只加載一次。或者每次調用Web方法時都會執行構造函數?如何在Web服務中初始化靜態變量
是的,每個請求都會生成Web Service類的新實例。
但是,您可以使用靜態構造函數,它將初始化一些靜態字段。請注意,這些字段對於所有用戶以及您的Web服務的所有請求都是通用的。
public class WebService1 : System.Web.Services.WebService
{
public static int loadedFromDataBase;
static WebService1()
{
loadedFromDataBase = ...
}
[WebMethod]
public string HelloWorld()
{
return loadedFromDataBase.ToString();
}
}
因此,對象不像數據庫連接那樣彙集。還是有辦法將他們集中起來?或者我可以在其他地方聲明變量以避免每次執行方法時加載? – 2011-03-15 12:13:26
loadedFromDataBase不是每次都加載,它只加載一次,並且每個請求都共享它。 – SWeko 2011-03-15 12:58:50