Security: Debugged and freed managed code, such as C #, is already vulnerable if not confused. Protect your code with obfuscation, otherwise it can be easily copied, stolen, any protection, such as encryption, is broken (in this case, you specified Terrabytes data for the client). I answered the obfuscation question here . In addition, create a key file and sign your assemblies.
Performance . Debugging is definitely slower, it should never release a debug assembly. If using AJAX will make requesting each page much more difficult since the debug version is larger. Set the debug flag to false of your application configuration file, I have included several similar reminders in this other question .
Stability: Debugging uses more memory and may be less stable if the server has low memory. The advantage of having DLL debugging in case of application failure, your pdb files will already be in place. Best practice is to provide a reliable debug build for each release version that you create. If the client requires debugging, back up its folder and replace it with the corresponding debug builds.
I developed an archiving product that also archived Terrabytes data, and I would NOT recommend deploying the debug assembly and making sure it was rooted and the file encryption methods encrypted with Dotfuscator.
GenEric35
source share