标签: versioning

Azure Function API 版本控制 - 如何构建我的代码?

我创建了一个在 Azure Function Apps 的帮助下实现的演示微服务应用程序。为了分离关注点,我创建了 API 层、业务层和数据层。

API层,即功能应用程序,调用业务层实现业务逻辑,而数据层实现存储和检索数据的逻辑。

经过深思熟虑,我决定在我的演示中使用基于查询的 API 版本控制。

我的问题是,

组织代码以促进这一点的最佳方法是什么?除了使用不同的命名空间/存储库之外,还有其他方法来组织我的代码以适应不同的版本吗?

到目前为止,我已经为每个版本创建了单独的命名空间,但这会造成大量代码重复。另外,在我的一些朋友对其进行审查后,他们提出了这样的担忧:如果使用单独的命名空间,我将迫使遗留系统更改对新命名空间的引用(如果它们需要更新),这是不建议的。

任何帮助,将不胜感激。

versioning api design-principles azure-functions

1
推荐指数
1
解决办法
6856
查看次数

Asp.net .core Web api 版本控制不适用于 Url 路径段

我事先在各种来源中搜索了我的问题,但答案并没有为我提供解决方案。

我使用此处介绍的方式在 .net core 2.2 项目中实现了基于 Url 的 Web api 版本控制。我用于版本控制的版本是最新的 Microsoft.AspNetCore.Mvc.Versioning 3.1.2。我还尝试从以下来源了解它是如何工作的:source1source2source3source4

我在名为 Initial 的文件夹中有一个带有 GET 方法的 ValueController,在名为 New 的文件夹中有一个 Value2Controller。这两个文件夹都是“Controllers”文件夹的子文件夹。

结构如下:

ValueController中的路由是 [Route("api/v{version:apiVersion}/[controller]")]

在 Value2Controller 中是: [Route("api/v{version:apiVersion}/value")]

我还在options.EnableEndpointRouting = false;Startup.cs 中进行了设置,并尝试调用 api/v1/value 或 api/v2/value。两次我都收到错误:多个操作匹配。它无法区分两个控制器的操作。

我尝试services.AddApiVersioning();完全不使用任何选项并删除 AddVersionedApiExplorer。这是行不通的。唯一有效的方法是放入 [Route("api/v{version:apiVersion}/[controller]")] 两个控制器并进行以下 api 调用:

api/v1/valueapi/v2/value2

我的startup.cs中的配置如下:

services.AddApiVersioning(options =>
    {
        options.ReportApiVersions = true;
        options.AssumeDefaultVersionWhenUnspecified = true;
        options.DefaultApiVersion = new ApiVersion(1, 0);
        options.ApiVersionReader = new UrlSegmentApiVersionReader();
        options.UseApiBehavior = …
Run Code Online (Sandbox Code Playgroud)

versioning asp.net asp.net-web-api asp.net-core

1
推荐指数
1
解决办法
5874
查看次数

在 Clojure 项目中存储项目版本号的常见约定是什么?

我们的团队正在处理使用 deps.edn 的 Clojure 项目

我们习惯于 NPM 项目,将版本号存储在 package.json 文件中。看来 Leiningen 用户之前可能已将版本号存储在 project.clj 文件中。是否有针对 Clojure 项目版本控制的社区范围惯例​​?我看到人们和官方文档提到使用 Git 标签,但想知道使用 deps.edn 的开发人员是否有某种流行的方式将版本号存储在文件中。

谢谢你!

versioning version clojure leiningen deps-edn

1
推荐指数
1
解决办法
466
查看次数

XCode项目版本颠簸,有自动化方式吗?

我想知道是否有任何自动方法来提升xcode项目的版本号?

我正在使用带有Ruby的Jeweler,它有非常好的命令行选项来提升项目的版本号.选项是主要,次要或补丁.XXX

是否有任何类似的(半)自动方式来破坏xcode中的版本号?我知道的唯一方法是手动编辑主plist.如果有任何记录版本或与版本控制集成甚至可能会很棒.

谢谢

versioning xcode xcodebuild

0
推荐指数
1
解决办法
781
查看次数

.net 4.0迁移

一个.net 3.5 c#项目可以引用一个.net 4.0程序集并用它编译吗?运行时间怎么样?用4.0编译/运行4.0怎么样?

编辑:特别是,我有一个第三方.net程序集.它有扩展点:我在app.config中注册我的dll并且它调用了我(可能通过反射).我可以在.net 4.0中实现我的dll吗?什么时候选择CLR版本,当主exe出现或者dll需要某个版本的时候?

.net versioning .net-4.0 .net-3.5

0
推荐指数
1
解决办法
361
查看次数

ASP.NET服务器控件的jQuery版本冲突解决方案

我正在开发一个ASP.NET服务器控件,它使用jQuery作为一些客户端逻辑.我已将jQuery文件嵌入控件中作为资源.

我不想将使用控件的应用程序限制为特定版本的jQuery,我想继续使用我嵌入的jQuery版本.

我知道noconflict方法,但我看到的问题是我无法控制页面上脚本标签的顺序.

如果用户的jQuery版本包含在我之前,那么在我可以调用noconflict之前,我最终会覆盖它.

请帮忙

versioning asp.net jquery custom-server-controls conflict

0
推荐指数
1
解决办法
1464
查看次数

我可以修改exe的内部版本吗?

我有几个我创建的VB6 exe/dll,当我右键单击该文件并获得它所说的属性时:

  • File version - 4.2.0.9
  • Product Version - 4.02.0009

是否有可能改变File Version?我希望这样说4.2.9.123

我想以编程方式更改此项,因此我可以在哪里找到这些值的文件?他们在特定的位置吗?

如果我更改内部版本,这是否会导致向COM注册exe/dll的问题?

(如果有人有代码解决方案,我选择的语言是VB.NET)

vb.net versioning vb6

0
推荐指数
1
解决办法
925
查看次数

是否可以通过ftp获取文件版本?

我的问题很简单.我在ftp服务器上有一个exe文件,版本为1.0.0.0.我想下载它,但仅限于版本大于某个预设值.(所有这些都在C#桌面应用程序中).

我在网上看到,如果不首先下载文件,就无法通过FTP告诉文件的版本.它是否正确?(我宁愿不这样做,因为文件相当大,不需要在大多数时间下载).

如果是,我看到的推荐解决方案是在FTP目录中创建一个包含目标exe文件版本的文本文件.显然它不会很大,所以可以快速下载.如果我不能直接获取exe版本,这是最好的解决方案吗?

谢谢您的帮助!

c# versioning ftp

0
推荐指数
1
解决办法
1183
查看次数

Android:如何在我更新市场上的应用程序时执行某些代码?

我需要知道,当用户从市场(谷歌播放)安装我的新更新时,是否有第一次在我的应用程序中运行一段代码的方法?

每次上传新版本的应用时,我都需要运行一次代码吗?

谢谢阅读.

versioning android google-play

0
推荐指数
1
解决办法
1812
查看次数

AS3 Flash SWF文件版本控制

我在网上看了一遍,似乎找不到将版本号放在swf文件中的方法.我们需要知道我们在不同机器上使用哪个版本的swf文件,所以我们想过如果swf目录中不存在包含swf版本号的文件,可能会写一个文件.我们没有使用Flex和as3,所以由于我们无法写入磁盘而无法工作.所以我一直在环顾四周,无法找到我们指定swf文件版本的地方,如"14.06.30".

有没有办法我们可以设置我们的swf文件的版本?

我们已经考虑使用按键来显示版本号,但是我们不想这样做,因为swf可以加载其他swf,其中按键可能意味着其他东西.这将是最后的手段.

apache-flex versioning flash actionscript-3

0
推荐指数
1
解决办法
328
查看次数