Come posso fare per ottenere una pagina per riavviare l'elaborazione in C #?
-
19-09-2019 - |
Domanda
Sto lavorando con un CMS che consente di sviluppare i propri controlli personalizzati che vengono dinamicamente inclusi in fase di esecuzione. Così ho un controllo personalizzato che altera un DataSource (cache NHibernate) e come sono a un punto nel processo in cui il CMS ha già letto questi dati dalla cache, ho bisogno di riavviare l'elaborazione della pagina in qualche modo che il CMS raccoglie i nuovi dati della cache.
So che ci sono modi probabilmente più eleganti di fare questo, ma perché sono in grado di modificare direttamente i dati detenuti dal nucleo CMS' una volta che ha letto dalla cache e a causa del modo in cui il controllo venga caricato dal CMS io sono fuori di alternative (credo).
Ho provato a fare un Response.Redirect () per l'URL richiesto, ma la maggior parte dei browser pensare che questo è un ciclo infinito e uccidere la richiesta. Tutte le altre idee?
Soluzione
È possibile farlo dalla pagina iniziale:
Response.Clear ();
Server.Transfer (Request.Url.PathAndQuery, true);
Il secondo argomento passa i valori iniziali pagina QueryString e Form.