提问人:Eleco Martin 提问时间:6/19/2023 更新时间:6/19/2023 访问量:32
ServicePointManager 在 CLR 类库中未初始化?
ServicePointManager not initialised when in CLR class library?
问:
我继承了一个 CLR 类库 (.NET Framework 4.7.2),它提供了一个查询 Azure 中的表存储的函数。从本机 C++ 可执行文件调用的函数当前失败,因为 TLS 设置不足。
如果我查询函数开始时属性的设置,我发现它设置为(均已弃用!我必须将其显式设置为 Tls12 才能使函数正常工作。ServicePointManager.SecurityProtocol
SSl3|Tls
相反,如果我创建一个新的 CLR 控制台应用程序项目(也是 Framework 4.7.2)并添加一个仅查询安全协议的函数,我发现它被设置为 .SystemDefault
我认为在类库中拥有该函数会阻止安全协议被初始化是正确的吗?在这种情况下,我必须显式设置属性吗?据推测,.NET Framework 在管理应用程序时会执行一些初始化,但在类库的情况下则不然。如果属实,任何人都可以对此进行一些扩展吗?ServicePointManager.SecurityProtocol
此外,通过将其设置为 Tls12,我是否可能会破坏其他调用代码,例如对 Tls11 感到满意的旧代码,或者坚持使用 Tls13 的未来代码?
答: 暂无答案
评论
ServicePointManager.SecurityProtocol