我目前正在开发一个用C# .NET 4.5编写的软件解决方案。该软件使用基于硬件ID(例如MAC地址或CPU ID)的许可系统。现在,一位用户报告说,他在使用微软App软件时遇到了许可证问题。他提到,每次新用户想要使用该软件时,应用程序都会抱怨许可证无效(原因是硬件的改变)。如果以前注册的用户在不同的客户端上使用该软件,也会发生这种情况。我现在的问题是,当通过App运行应用程序时,下面的代码片段返回什么,客户端的Mac地址,或者应用程序实际运行的服务器地址。如果第一个是正确的,那么是否也可以使用.NET中的一些功能从服务器获取相同的信息?
private static string getMAC() {
ManagementClass oMClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOCol = oMClass.GetInstances();
string mac = "";
foreach (ManagementObject MO in MOCol) {
if (MO != null) {
if (MO["MacAddress"] != null) {
mac = MO["MacAddress"].ToString().Replace(":", "");
if (mac != string.Empty) {
break;
}
}
}
return mac;
}
发布于 2014-10-30 12:54:02
App的维基百科文章中的限制部分中的下一个项目正好适合您的问题。
你需要告诉你的客户,你不能支持app,如果你在应用程序的每一次单独运行上都验证了许可证,而不是在应用程序安装时只验证一次。如果这意味着你会失去一个有价值的客户,那么你很快就会放弃这个计划,这是我们无法为你做出的商业决定。
https://stackoverflow.com/questions/26587287
复制相似问题