我创建了一个Web应用程序,我希望通过源代码销售给各个客户端。这个应用程序包含一个由我创建的DLL,它有各种方法,其中有一个名为ValidateLicenceKey()的方法。我希望每个页面调用此方法以获得有效许可证。要做到这一点,有各种方式(据我所知) -
我正在为客户提供在应用程序中添加新页面/控件的灵活性,以及他可以根据他的要求编辑现有代码。
现在我的问题是 - 由于客户端具有DLL的源代码,因此可以通过
禁用ValidateLicenceKey功能那么我如何强迫他们调用此方法。
他们有什么方法可以解决这个问题吗? 请帮忙。
答案 0 :(得分:0)
我将添加另一种方法:在类中放置一个静态构造函数。因此,如果调用了类,则始终会调用静态构造函数。在静态初始化程序中,您可以放置代码。
class MyClass
{
static MyClass()
{
if (!ValidateLicenceKey())
{
throw new Exception("Invalid License");
}
}
}
显然,这不会通过源代码篡改来保护您。