gpt4 book ai didi

c# - 枚举类型作为跨 Web 服务的常量?

转载 作者:行者123 更新时间:2023-11-30 17:25:05 25 4
gpt4 key购买 nike

我正在从事一个项目,在该项目中我试图避免在面向 .NET 服务的项目中对数据库 ID 进行硬编码。在某些情况下,我需要通过代码设置 ID 值,但我不想只对 ID 进行硬编码,因为我之前已经这样做过,当自动 -当数据库被转储到新系统时,递增的 ID 发生了变化。

我想做的是创建一个存储 ID 的枚举常量,这样在最坏的情况下,如果数据库发生更改,则只需更新 1 个文件,而不是尝试遍历成千上万行代码替换系统中的任何 ID。

这将在单个系统上工作,但在我公司的面向服务的环境中,枚举不会使用它们的值进行序列化,而只是使用它们的名称。

跨网络服务共享 ID 的最佳方式是什么?我想以某种方式使用枚举(理想情况)或常量,但我似乎无法让它发挥作用。我可以创建一个返回 ID 的 Web 方法,但是为每个 ID 发送一个 Web 请求,然后在客户端机器上序列化响应和反序列化听起来是个坏主意。

编辑
我不是很清楚我在问什么,所以我会详细说明。

我想要一组常量。枚举只会被使用,因为它将常量适本地组合在一起。我主要感兴趣的是看看是否有一种方法可以跨 Web 服务共享常量。我需要枚举代表的值,而不是枚举本身。除非作为整数,否则枚举永远不会在服务和客户端之间发送。在内部,所有内容都存储为 ID,而不是枚举。

拥有一个单独的共享库听起来不像是理想的解决方案,因为我快要完成这个项目了,而且我只会在库中存储 1 个枚举/类。只做一节课似乎有点浪费。

最佳答案

我总是创建一个单独的程序集,其中包含客户端/服务器需要共享的枚举和任何接口(interface)。然后,您可以在不泄漏任何功能的情况下从客户端和服务器引用它。

关于c# - 枚举类型作为跨 Web 服务的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/160313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com