AppInitialize() yöntemi hakkında değerli küçük belgeler olmamakla birlikte, böyle bir yöntem imzası içeren App_Code klasöründe herhangi sınıf senin varsayımı doğru şunlardır:
public static void AppInitialize()
çağrılır zaman Asp.Net uygulaması başlatıldı. App_Code'un Asp.Net için özel bir klasör olduğunu ve içerideki her şeyin biraz farklı bir şekilde ele alındığını unutmayın. App_Code klasörünün tüm küçük quirklerinde (yukarıda adı geçen) belgelerin bulunması için iyi şanslar.
AppInitialize yöntemi tanımlanır
:
ancak Başka bir şey hatırlamıyorum sadece bir sınıf AppInitialize() yöntemi için bir imza içerebilir ya da başka buna benzer zamanında bir derleyici hatası elde edecektir hem 'App_Code.SomeClassOne' hem de 'App_Code.SomeClassTwo' içinde.
Yani bu mükemmel geçerli iken: bu sizin için biraz şeyler temizler :)
umarım
public class SomeClassOne
{
public static void AppInitialize()
{
HostingEnvironment.Cache["InitializationTimeOne"] = DateTime.Now;
}
}
public class SomeClassTwo
{
public static void AppInitialize()
{
HostingEnvironment.Cache["InitializationTimeTwo"] = DateTime.Now;
}
}
:
public class SomeClassOne
{
public static void AppInitialize()
{
HostingEnvironment.Cache["InitializationTimeOne"] = DateTime.Now;
}
}
Bu yukarıda bahsettiğim derleyici hatası oluşturur
Bu çok kullanışlıdır. App_Code özel davranışlarının başka örneklerini nerede bulacağınız hakkında bir fikrin var mı? –
Bunu bir süredir WCF Web servisinde çalıştım ve aniden gizemli bir şekilde çalışmayı bıraktı. Web hizmetini Visual Studio'da çalıştırırsam, başlatma işlemi gerçekleşir, ancak IIS'ye dağıtırsam hiçbir başlatma gerçekleşmez. Bunun işe yarayacağına yemin edebilirim ve şimdi aniden değil. Herhangi bir fikir? – Farinha
Sorun bulundu. Webservice yayınlama klasörüne kopyalanan "App_Code" klasörünün olmaması için "İçerik" ten "Derleme" ye başlatma işlemini içeren .cs dosyasındaki "Oluşturma Eylemi" ni değiştirdim. Pekala, bu yapılamaz ... – Farinha