Toon posts:

[ASP.net] (Source code) Compileren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een beetje aan het uitzoeken wat de voordelen van ASP.net boven ASP 3.0 zijn, en ben nu op het punt van de compiler aangekomen.

We maken *geen* gebruiken van Visual Studio.

Wat kun je precies allemaal compileren? Ik ben er al achter dat IIS de pagina's compileert als hij ze voor de 1e keer aanroept, maar nog steeds is de sourcecode gewoon leesbaar als text.

Moet je nu met code behind en de Visual Basic .Net compiler om van de .vb files een .dll te maken?

Of is het op een andere manier ook mogelijk om een heel project in 1x te compileren zodat er uiteindelijk geen leesbare sourcecode meer overblijft.

Ik ben inmiddels wel op verschillende 3th party compilers gestuit die zeggen de sourcecode te beschermen, maar zijn er ook standaard alternatieven voor.

Hoe zorgen jullie ervoor dat de sourcecode niet op straat komt te liggen als je het naar een klant distribueert.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet inderdaad gebruik maken van codebehind. Dit kan je dan compileren met de C# of VB.NET compiler. Om dit handig te doen kan je mischien gebruik maken van C# Builder van Borland. Hier is een personal edition van die gratis te downloaden is. Deze mag je denk alleen niet gebruiken voor commerciele doeleinden. Maar het is denk toch wel heel handig om gebruik te maken van een programma als VS.NET of een andere IDE. Als je je code direct in de aspx pagina zet dan zal deze altijd leesbaar blijven.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Blue2k
  • Registratie: April 2002
  • Laatst online: 25-06-2023
Ten eerste zou ik voorstellen om webmatrix te gebruiken, de gratis variant van Visual Studio. Want prutsen in een teksteditor lijkt me niet de juiste manier om diep met .net bezig te zijn. Webmatrix houdt zich ook bezig met het aansturen van de compiler.

Normaal worden de codebehind pagina's en de classes gecompiled naar de IL (Intermediate Language) en dat staat in je 'dll'. Als er functies in die dll worden aangeroepen worden ze door gecompiled naar machine taal. Vergelijkbaar met java en z'n bytecode. Alle talen die gecompiled worden met een .net compiler worden eerst in IL omgezet zodat ze samen kunnen werken en pas als ze nodig zijn (JIT) gecompiled.

Op de aspx pagina zelf staat dan geen code (alleen de opmaak) maar is met een link verbonden aan de dll (die vaak in de directory 'bin' staat in IIS). Events worden doorgestuurd naar je dll file kort gezegd.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
De C# of VB.NET code wordt toch in een DLL gecompileerd. .NET moet imho enkel die assembly van IL naar native code compilen. (Je kan dit zelf ook al doen dmv de ngen tool).
Je kan toch de aspx-files aan de klant leveren zonder de daarbij horende code-behind files, want die code zit reeds in de dll bevat.

Kijk ook eens in VS.NET naar de menu optie 'Copy Project' die je onder 'Project' vind.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Blue2k schreef op 03 September 2003 @ 14:24:
Ten eerste zou ik voorstellen om webmatrix te gebruiken, de gratis variant van Visual Studio. Want prutsen in een teksteditor lijkt me niet de juiste manier om diep met .net bezig te zijn. Webmatrix houdt zich ook bezig met het aansturen van de compiler.
WebMatrix vind ik niet goed. Zeker niet voor grotere projecten.
Als je geen gebruik kunt maken van VS.NET, kijk dan eens naar de personal edition van C# Builder die je gratis kunt downloaden van de Borland site.
Normaal worden de codebehind pagina's en de classes gecompiled naar de IL (Intermediate Language) en dat staat in je 'dll'. Als er functies in die dll worden aangeroepen worden ze door gecompiled naar machine taal. Vergelijkbaar met java en z'n bytecode. Alle talen die gecompiled worden met een .net compiler worden eerst in IL omgezet zodat ze samen kunnen werken en pas als ze nodig zijn (JIT) gecompiled.
Je kan zelf ook al naar native code compilen, zodat het framework dat niet meer hoeft te doen. (ngen.exe).

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

afaik ondersteunt WebMatrix toch geen codebehind?

Sowieso zijn .Net dll's relatief eenvoudig te decompileren.
Zie hiervoor oa.
[rml][ NET] Source beveiliging wel echt mogelijk?[/rml]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ja ik zelf ook al een beetje uitgevonden dat het niet helemaal veilig is,

wil je het echt veilig dan kom je hier op uit (http://www.remotesoft.com/salamander/protector.html) maar dat kost $ 1500

bovendien weet ik niet in hoeverre het zin heeft om het helemaal dicht te spijkeren.

Klant staat erop dat hij het zelfstandig kan draaien in het geval ons bedrijf omvalt over een jaar, het gaat er meer om dat hij het niet gaat aanpassen, of verder verkopen. Ik denk niet dat normale klanten in de gaten hebben hoe ze zoiets uit elkaar trekken. Bovendien mag dat niet zoals hij in de licentie kan lezen...

[ Voor 51% gewijzigd door Verwijderd op 03-09-2003 14:58 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

D'r zijn meerder obfuscators.. :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 03 September 2003 @ 14:55:
D'r zijn meerder obfuscators.. :P
Het is geen obfuscator volgens mij, zij beweren dat het echt gecompileerd wordt, meer daarover in de draad die jezelf gaf...

  • Blue2k
  • Registratie: April 2002
  • Laatst online: 25-06-2023
whoami schreef op 03 September 2003 @ 14:26:
[...]

WebMatrix vind ik niet goed. Zeker niet voor grotere projecten.
Als je geen gebruik kunt maken van VS.NET, kijk dan eens naar de personal edition van C# Builder die je gratis kunt downloaden van de Borland site.


[...]


Je kan zelf ook al naar native code compilen, zodat het framework dat niet meer hoeft te doen. (ngen.exe).
A native image is a file containing compiled processor-specific machine code. Note that the native image that Ngen.exe generates cannot be shared across Application Domains. Therefore, you cannot use Ngen.exe in application scenarios, such as ASP.NET, that require assemblies to be shared across application domains.
Pagina: 1