Guide to getting a WCF service host application obfuscated?
We have an application that is split into two major deployable components, set of Silverlight XAP files and a Windows service that runs as a .NET 4.5 EXE.
I'm currently working on just the Windows service EXE, which is the application server. It references one main application DLL (call it the framework DLL) and several 3rd-party DLLS. It's basically a WCF service host.
I've been able to run most protection options on the framework DLL by itself (everything except resource compression and pruning), and it runs fine when used by the service host EXE, but when I try to merge the framework DLL into the service host EXE using the same settings, the service won't start due to several problems:
1) Service names are obfuscated, so I have to exclude all service implementations from being obfuscated, this then brings me to:
2) Data contracts can't be initialized because they can't be serialized.
I could exclude all data contracts from being obfuscated, but this includes all our models so the benefit of obfuscation is reducing very quickly.
Who knows how many other problems would come after this one.
I also wasn't able to embed any of the reference 3rd-party assemblies
Basically, is there any guidance on how to use SmartAssembly for a WCF service host application? I'm really in the dark as to how this works.
Any information welcome!