2016-03-30 3 views
0

Ich habe Ansicht Modellklasse: DummyClass.cs im Projekt: ViewDataModels. Die MVC Razor App wird als MyWebApp bezeichnet. In diesem Web-App habe ich Ansicht /Home/Index.cshtml und Form mit verdeckten Bereich, in dem Codezeile ist, die DummyClass AssemblyQulifiedNameMVC Expose Klassen- und Assemblyname in View, was sind die Risiken?

'@typeof(DummyClass).AssemblyQualifiedName' 

Ergebnisse in

ViewDataModels.DummyClass, ViewDataModels, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 

so in post I Reflexion aussetzt kann durch Holen Sie sich den Klassentyp, der das Modell darstellt. Was sind die Risiken hier? Gibt es irgendwelche Arbeitsumstände? Zum Beispiel: Zwei-Wege-Hash der Zeichenfolge?

+0

Vielleicht gehe ich hier vom Off-Thema, aber das klingt wie ein seltsamer Wunsch? In MVC sollte die Controller-Aktion angeben, welcher Typ übergeben werden soll: 'public ActionResult DoSomething (DummyClass myData)', und dann muss (muss) man sicherstellen, dass das View/the Form sich daran hält. Das ist die Grundvoraussetzung von MVC, mit Model-Bindung und Validierung, die damit kostenlos geliefert werden. –

+0

Ja, das MVC-Konzept ist einfach und die Einstellung als Modell dieser Ansicht könnte dies lösen. Aber in diesem Szenario kann der Name der Klasse unterschiedliche Werte haben, daher könnte eine sauberere Lösung enum oder eine Basisklasse sein, aber ich bin irgendwie unkomfortabel mit der Enum-Klassenzuordnung. – user2977027

Antwort

1

Keine Risiken. Sie können Ihren Code nicht verbergen. Es gibt so viele gute Tools, die Ihnen helfen, DLLs zu zerlegen, die Sie wirklich nicht mehr verschleiern können.

Verschleierung Ihres Codes schreckt nur die lässigsten Menschen ab. Wie die Videospielindustrie vor langer Zeit gelehnt hat, ist kein Code vor dem Knacken sicher.