StackExchange.Redis 和 StackExchange.Redis.StrongName 有什么区别?
What is the difference between StackExchange.Redis and StackExchange.Redis.StrongName?
当我关注 Azure documentation 以了解如何在 Azure 门户中使用 Redis 缓存时,我注意到了这条注释:
If you prefer to use a strong-named version of the StackExchange.Redis
client library, choose StackExchange.Redis.StrongName; otherwise
choose StackExchange.Redis.
什么叫强名?利弊是什么?如何在我的申请中决定我是否需要它?
强名称版本适用于在 Sharepoint 和 com+ 开发中使用强名称程序集的开发人员。 nuget package dev 自己说这个问题没有简单的答案。在此处阅读博客 post http://blog.marcgravell.com/2014/06/snk-we-need-to-talk.html
您需要强命名的 Redis 库吗?很有可能,尤其是如果您从未遇到过这个词,答案是 否 。但请继续阅读。
什么是强命名?
- 这是 .NET 特有的东西
- 您可以选择使用加密密钥对程序集进行签名
- 这可以验证您是否确实 loading/running 您期望 load/run
- "strong name" 包括加密签名以及常用名称、版本和类似内容。
你需要强名称吗?
- 除非您有特定原因,否则可能不会。其中一些可能是:
- 历史性的(我们过去常常签署我们的程序集,为什么现在改变了)
- 公司政策
- 特殊情况,例如您正在使用的其他东西需要强名称(过去,如果您想向 GAC 添加某些内容,则必须具有强名称)
- 可能是出于安全考虑
签署你的程序集是个好主意吗?
- 众说纷纭
- 很多时候,强大的名字在很多方面都是一种痛苦,其好处也值得怀疑
- 除非你真的必须,否则最近不使用强名称已成为一种趋势
您需要强命名的 Redis 库吗?
- 除非您决定或必须签署您自己的使用 Redis 库的应用程序,否则您不会
- Redis 库的强名称版本与另一个相同
- 它的存在完全是为了让那些需要使用强名称的人的生活更轻松
除了签名与未签名程序集参数之外,RedisSessionStateProvider 依赖于 StackExchange.Redis.StrongName
所以如果你想使用RedisSessionStateProvider,除非你想有两个依赖,否则请选择StrongName版本。
更新:正如@Matei_Radu所指出的,Microsoft.AspNet.SignalR.Redis也依赖于StackExchange.Redis.StrongName
您只能在单个程序集中依赖一个(已签名或未签名),但如果您有多个项目,则可能对两者都有依赖。只保留签名版本可以简化事情以避免出现问题
当我关注 Azure documentation 以了解如何在 Azure 门户中使用 Redis 缓存时,我注意到了这条注释:
If you prefer to use a strong-named version of the StackExchange.Redis client library, choose StackExchange.Redis.StrongName; otherwise choose StackExchange.Redis.
什么叫强名?利弊是什么?如何在我的申请中决定我是否需要它?
强名称版本适用于在 Sharepoint 和 com+ 开发中使用强名称程序集的开发人员。 nuget package dev 自己说这个问题没有简单的答案。在此处阅读博客 post http://blog.marcgravell.com/2014/06/snk-we-need-to-talk.html
您需要强命名的 Redis 库吗?很有可能,尤其是如果您从未遇到过这个词,答案是 否 。但请继续阅读。
什么是强命名?
- 这是 .NET 特有的东西
- 您可以选择使用加密密钥对程序集进行签名
- 这可以验证您是否确实 loading/running 您期望 load/run
- "strong name" 包括加密签名以及常用名称、版本和类似内容。
你需要强名称吗?
- 除非您有特定原因,否则可能不会。其中一些可能是:
- 历史性的(我们过去常常签署我们的程序集,为什么现在改变了)
- 公司政策
- 特殊情况,例如您正在使用的其他东西需要强名称(过去,如果您想向 GAC 添加某些内容,则必须具有强名称)
- 可能是出于安全考虑
签署你的程序集是个好主意吗?
- 众说纷纭
- 很多时候,强大的名字在很多方面都是一种痛苦,其好处也值得怀疑
- 除非你真的必须,否则最近不使用强名称已成为一种趋势
您需要强命名的 Redis 库吗?
- 除非您决定或必须签署您自己的使用 Redis 库的应用程序,否则您不会
- Redis 库的强名称版本与另一个相同
- 它的存在完全是为了让那些需要使用强名称的人的生活更轻松
除了签名与未签名程序集参数之外,RedisSessionStateProvider 依赖于 StackExchange.Redis.StrongName
所以如果你想使用RedisSessionStateProvider,除非你想有两个依赖,否则请选择StrongName版本。
更新:正如@Matei_Radu所指出的,Microsoft.AspNet.SignalR.Redis也依赖于StackExchange.Redis.StrongName
您只能在单个程序集中依赖一个(已签名或未签名),但如果您有多个项目,则可能对两者都有依赖。只保留签名版本可以简化事情以避免出现问题