2010-12-09 13 views
0

Ich habe eine DNN-Site, die ich aktualisiere. Die Aufgabe besteht darin, von 4.08 auf 5.06 zu aktualisieren und Catalook zusammen mit einigen benutzerdefinierten Modulen zu installieren, um die Catalook-Daten anzuzeigen. Der Modulcode funktioniert einwandfrei und beim ersten Laden der Seite ist alles in Ordnung. Wenn Sie auf einen Link oder eine Aktionsschaltfläche klicken, wird nur der Bildschirm aktualisiert, ohne einen Modulcode auszuführen.DotNetNuke Code hinter auf benutzerdefinierten Modulen funktioniert nur, wenn angemeldet oder Debugging

jedoch, wenn ich als Admin oder Debuggen des Moduls Code angemeldet, alles wie erwartet funktioniert

Gedanken anyone?

+0

könnte etwas sein, mit Sicherheit zu tun? Wird ein Code in irgendeiner Weise an Benutzerrollen angefügt? – Treemonkey

Antwort

1

Ok, ich habe das Problem herausgefunden. Das Manifest im Modul hatte einen Standard-Cache von 60, DNN speichert die Ergebnisse der Anfrage zwischen. Vielleicht wäre es besser, wenn dnn auch die querystring parms zwischenspeichert und wenn sie sich geändert haben, den Cache löschen und neu aufbauen (VaryByParam). Die Lösung ist einfach.

  1. Korrigieren Sie das Manifest, wenn Sie es jemals auf einer anderen Instanz installieren, wird es korrekt sein.

  2. Fix die vorhandenen Einstellungen. Sie können jede Moduleinstellung (Host - Module) aufrufen und die Cache - Werte ändern, so dass sie korrekt sind, wenn Sie sie zu einer anderen Seite hinzufügen.

  3. Befestigen Sie die Module, die auf den Seiten installiert sind. Dies kann ziemlich mühsam sein, wenn Ihr Modul viel benutzt wird (meine waren). Eine schnelle Möglichkeit besteht darin, eine Aktualisierungsanweisung für TabModule auszustellen, um die Cache-Einstellungen für jedes auf Seiten geladene Modul festzulegen.