Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 客户能否在生产后更改环境开发_C#_Asp.net Core - Fatal编程技术网

C# 客户能否在生产后更改环境开发

C# 客户能否在生产后更改环境开发,c#,asp.net-core,C#,Asp.net Core,我们正在使用Asp.Net Core 2.2开发一个网站,我们的配置中有此块以绕过开发测试中的许可任务: if (!env.IsDevelopment()) { //Do license checking stuff... } 我想知道客户是否可能以某种方式使我的应用程序在开发模式下运行,并尝试跳过许可证检查?如果是,最好的预防方法是什么?谢谢。我想,在部署的环境中更新launchSettings.json文件配置文件是唯一的方法。Q:客户是否有可能以某种方式让我的应用程序在开发模式下

我们正在使用Asp.Net Core 2.2开发一个网站,我们的配置中有此块以绕过开发测试中的许可任务:

if (!env.IsDevelopment())
{
    //Do license checking stuff...
}

我想知道客户是否可能以某种方式使我的应用程序在开发模式下运行,并尝试跳过许可证检查?如果是,最好的预防方法是什么?谢谢。

我想,在部署的环境中更新launchSettings.json文件配置文件是唯一的方法。

Q:客户是否有可能以某种方式让我的应用程序在开发模式下运行

A:当然可以。有几种方法可以做到这一点,很简单。例如,您所要做的就是设置环境变量。或使用记事本编辑设置文件

问:如果是,最好的预防方法是什么

答:不要使用像“if(!env.IsDevelopment())”这样的运行时检查

一种替代方法是用编译时代替。另一种方法是在应用程序中硬编码全局标志变量。您有很多选择:)

根据您的“执行许可证检查工作”,消费者也可以在调用任何代码之前包装您的DLL并简单地替换您的许可证检查方法(请参阅),而不管
IsDevelopment()
返回的值。使用编译时#如果似乎是最好的,谢谢。