我不太明白Silverlight代码在浏览器中的工作原理.程序集是否已下载到客户端计算机?是否有可能使用Reflector或类似工具对代码进行反编译?如果是这样,有什么选择来保护代码?.net混淆器可以与Silverlight一起使用吗?
无论何时您在Web浏览器中,所有客户端代码都会下载到计算机上,并且可以由用户进行检查.这适用于Javascript,Flash和Silverlight.
如果您拥有绝对必须隐藏的专有代码,那么您需要将其放在服务器上并公开客户端可以调用的API以向用户显示信息.
要查看Silverlight应用程序,客户端下载包含dll和一个配置xml和可选资源的.xap文件.dll包含在客户端计算机的Silverlight运行时中运行的已编译c#代码.Silverlight运行时基本上是完整的.net运行时的子集.所以关键是用户获取dll中的代码然后可以使用工具来获取原始源代码.所以最多你可以做的就是混淆.仍然是非常关键的代码,不应该是选项.如果它满足您的需求,您可以使用其他方式(WCF或其他Web服务隐藏您的代码的某些部分).