首页 > 解决方案 > 调整 WCF IIS 服务参数,无需重启服务或 IIS

问题描述

我目前正在制作一个托管在 IIS 上的 WCF 服务。但是,我的一些参数在服务中被硬编码为字符串,我希望能够调整这些参数而无需重新启动服务或 IIS。

我正在考虑从文件中读取它们,但最好是参数不应该由除我之外的任何人调整。然后我考虑用参数制作一个单独的库,并将其作为依赖项添加到主项目中。每当我必须更改参数时,我只需在 IIS 上的项目的 bin 文件夹中切换库,但我不知道这是否可行。

您可以将我想要完成的任务想象成一个许可模块。假设我的文件/库中有一个许可证代码和一个日期,并且每 3 个月(否则该服务将无法工作)我必须更换它(如果客户续订)并且应该只有我可以做到。我意识到这可能不是您进行许可的方式,这只是一个示例。

彼得

标签: wcfiisconfiguration-files

解决方案


您可能知道,如果它是一个 .NET 应用程序,那么反编译和修补它是非常容易的。

您可以像这样使用 DPAPI 进行加密: 1. 创建一个 winform/console 应用程序,该应用程序将使用“LocalMachine”上下文或该服务器上的专用用户进行加密。2. 使用该应用程序加密一个秘密字符串。3. 使用“LocalMachine”解密Web应用程序启动时的秘密或使用专用用户运行应用程序池。

包括对 System.Security 的引用,然后执行以下操作,您就完成了。

C# 中的 DPAPI 密码加密并保存到数据库中。然后使用密钥对其进行解密


推荐阅读