我进行了搜索,但找不到编程方式(使用c#)来检查是否向客户收取我在Azure Marketplace上作为VMI产品提供的软件的费用。该代码将从完全相同的软件检查中运行,即在启动时进行软件自检。
从本质上讲,我正在尝试防止以下情况:步骤1)客户提供了我的VMI软件解决方案。步骤2)然后,客户提供一个单独的“干净” VM,并将我的软件复制到该VM。步骤3)然后,客户取消我的VMI解决方案订阅,并继续在Azure上“干净”的VM上运行我的软件,而无需为此付费。
我已经知道如何检查我的软件是否在Azure中运行(RoleEnvironment.IsAvailable &&!RoleEnvironment.IsEmulated),但是不会检查费用。我可以介绍许可证文件等,但是对所有客户而言,这些文件的管理将是一件麻烦事-本质上迫使所有人都面临类似BYOL的情况。因此,如果没有我自己的客户数据库或单独的许可证文件,我正在寻找一种通用的解决方案。预先感谢您的建议。