2016-05-11 9 views
0

Können wir das IgnoreDataMember-Attribut anpassen, um Benutzerrollen zu behandeln? Ich bin auf der Suche nach so etwas [IgnoreDataMeember (Roles = "Admin")].Wie IgnoreDataMember-Attribut anpassen, um Benutzerrollen zu behandeln?

Gibt es noch weitere Attribute zum bedingten Serialisieren einer Eigenschaft basierend auf der Benutzerrolle? Zum Beispiel [SomeAttribute (Rollen = "Admin")].

+0

Bitte lesen Sie diese ähnliche Frage [Wie IgnoreDataMember Attribut anpassen, um Benutzerrollen zu behandeln?] (Http://StackOverflow.com/questions/37169416/how-to-customize-ignoredatamember-attribute-to-handle-user-roles) –

Antwort

0

Ich würde das nicht tun. Alles, was davon abhängt, ob ein Benutzer in der einen oder anderen Rolle ist, ist die Anwendungslogik. Sie würden definitiv nicht wollen, dass Geschäftslogik in einem Attribut mit einem scheinbar unzusammenhängenden Zweck verborgen bleibt (Bestimmen, welche Felder serialisiert werden). Wenn Sie es tun könnten, was Sie wollten, was würde passieren, wenn Sie die Daten mit einigen speichern wollten anderen Serialisierer oder teilen Sie es auf andere Weise? Wenn Ihre Logik in dieses Attribut integriert ist, kann sie in keinem anderen Szenario angewendet werden. (Oder Menschen werden wirklich seltsame Dinge mit Ihrem Code tun, weil sie auf den Serializer angewiesen sind, Business-Logik anzuwenden.)

Um Ihre Frage direkter zu beantworten, können Sie nicht das Verhalten dieses Attributs ändern. Sein zeigt, dass es versiegelt ist, was bedeutet, dass Sie nicht davon erben können.

Verwandte Themen