0
我正在升級舊的WebForms應用程序。但是,它並沒有選擇自定義主題。HttpModules設置被忽略?
我的web.config文件中包含以下內容:
<system.web>
<httpModules>
<add name="ThemeManager" type="SoftCircuits.MediCorp.ThemeManager"/>
</httpModules>
</system.web>
而這裏的類定義的一部分:
public class ThemeManager : IHttpModule
{
const string _defaultTheme = "BlueSky";
public ThemeManager()
{
}
public void Init(HttpApplication app)
{
app.PreRequestHandlerExecute += new EventHandler(Context_PreRequestHandlerExecute);
}
void Context_PreRequestHandlerExecute(object sender, EventArgs e)
{
if (HttpContext.Current.CurrentHandler is Page && HttpContext.Current.Session != null)
{
Page page = (Page)HttpContext.Current.CurrentHandler;
// Note: To override the theme set here, set Theme = null in page's PreInit event
if (page != null && !HttpContext.Current.Request.FilePath.Contains("Help/"))
{
...
但現在看來,這個類永遠不會實例。我可以在構造函數,Init()
處理程序或PreRequestHandlerExecute()
處理函數中設置斷點,並且不會觸發這些斷點。
這一次工作。任何人都可以看到缺少什麼?
注意:我不知道它是否有所作爲,但我也在我的web.config文件中指定了<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
。