Comment obtenir la valeur de ViewState codé et construit?

Je dois saisir la représentation codée en base64 de ViewState. Évidemment, cela ne serait pas disponible avant la fin du cycle de vie de la demande, ce qui est OK.

Par exemple, si la sortie de la page comprend:

<input type="hidden" name="__VIEWSTATE" 
  id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" />

I need a way on the server side to get the value "/wEPDwUJODU0Njc5MD...=="

Pour clarifier, j'ai besoin de cette valeur quand la page est rendue, pas sur PostBack. par exemple. J'ai besoin de connaître la valeur ViewState qui est envoyée au client, pas le ViewState que je reviens d'eux.

0
ajouté édité
Vues: 2

7 Réponses

Les pavages apériodiques peuvent être considérés (d'une manière parfois utile) comme des feuilles de tôles; le groupoïde en question (comme dans la réponse d'Emily) est alors le groupoïde d'holonomie de la stratification.

There is a standard description of the Penrose tiles in this way; think of an irrational plane (i.e. an $R^2$) in $R^n$ for some $n>2$, and consider the set of 2-dimensional faces of the $Z^n$ lattice in $R^n$ that intersect a (uniform) thickened tubular neighborhood of your plane. Project each such 2-dimensional face perpendicularly down to your plane; the result is an aperiodic tiling. If the irrational plane happens to be chosen with extra symmetries (eg it could be an eigenspace of a finite order element in $GL(n,Z)$) one gets quite a tile set with extra "partial symmetries". The Penrose tiling is of this kind: think of $Z/5Z$ permuting the coordinate axes in $R^5$. This fixes the vector $(1,1,1,1,1)$ and has two perpendicular irrational eigenspaces on which it acts as an order 5 rotation; translates of these eigenspaces give rise to the "standard" Penrose tilings.

La stratification dans ce cas est la "foliation irrationnelle" du tore $ R ^ 5/Z ^ 5 $ par des plans dont la pente est égale à la pente du $ R ^ 2 $ (et l'on peut facilement imaginer des généralisations).

13
ajouté

Dans les réponses à "Qu'est-ce qu'un groupoïde", on m'a montré Alan Weinstein est très bel article de notices .

Le premier exemple qu'il donne (avant même la définition d'un groupoïde) est sur les pavages, et comment le groupoïde contient plus d'informations que le groupe des automorphismes. Ce qui résout votre problème de Wikipedia ne donnant aucun exemple, au moins.

8
ajouté

Bill Thurston et JH Conway diront qu'il est préférable de penser aux orbifolds des pavages que leurs groupes de symétrie: c'est l'approche de la classification des groupes de symétrie plane et plusieurs autres choses que Conway et Burgiel et Goodman-Strauss prennent en compte. la belle Les symétries des choses , qui sortent plutôt bien, je dirais.

Je n'ai aucune idée si cela va jusqu'à des pavages apériodiques.

6
ajouté

Cela me fait penser à une conversation que j'ai vue il y a quelques années, mais il y a quelques années, Lorenzo Sadun Je ne sais pas exactement pourquoi. (Quand je pense aux pavages, je pense plus combinatorially que cela ne semble que vous êtes.) Vous pouvez regarder certains des articles de Sadun ou ses notes de cours récemment publiées Topologie des espaces de pavage .

3
ajouté
Je suis d'accord, votre question n'est pas une question combinatoire.
ajouté l'auteur Robert Höglund, source
Cela ne me dérange pas de penser en combinatoire, mais je pense généralement que si vous voulez des résultats de classification, il est plus facile d'adopter une approche différente
ajouté l'auteur bugmagnet, source
merci pour les références, je ne suis pas sûr si c'est ce que je cherche, mais au moins son matériel intéressant à l'annonce à ma file d'attente de lecture
ajouté l'auteur bugmagnet, source

Rex, je pense qu'un bon endroit pour commencer à chercher est des solutions qui compressent ViewState - ils saisissent ViewState sur le serveur avant de l'envoyer au client et de le compresser. C'est exactement là où vous voulez être.

0
ajouté

Voir ce blog post où l'auteur décrit une méthode pour remplacer le comportement par défaut pour générer ViewState et montre à la place comment l'enregistrer sur l'objet Session du serveur.

Dans ASP.NET 2.0, ViewState est enregistré par   un descendant de PageStatePersister   classe. Cette classe est une classe abstraite   pour enregistrer et charger ViewsState et   il y a deux descendants mis en œuvre   de cette classe dans .Net Framework, nommé   HiddenFieldPageStatePersister et   SessionPageStatePersister. Par défaut   HiddenFieldPageStatePersister est utilisé   enregistrer / charger les informations ViewState,   mais nous pouvons facilement obtenir le   SessionPageStatePersister pour travailler et   enregistrer ViewState dans l'objet Session.

Bien que je n'ai pas testé son code, il semble montrer exactement ce que vous voulez: un moyen d'accéder au code ViewState tout en restant sur le serveur, avant la publication.

0
ajouté

J'ai activé la compression en suivant des articles similaires à ceux affichés ci-dessus. La clé pour accéder à ViewState avant que l'application ne l'envoie était en train de surcharger cette méthode;

protected override void SavePageStateToPersistenceMedium(object viewState)

Vous pouvez appeler la méthode de base dans cette substitution, puis ajouter la logique supplémentaire dont vous avez besoin pour gérer ViewState.

0
ajouté