代码之家  ›  专栏  ›  技术社区  ›  Ted

ServiceStack/TypeScript:TypeScript引用忽略名称空间(这会导致重复)

  •  1
  • Ted  · 技术社区  · 6 年前

    我正在学习NativeScript+Angular2,以C#中的ServiceStack作为后端。

    对于应用程序,我使用 typescript-ref 命令,用于 JsonServiceClient 在ServiceStack中:

    >typescript-ref http://192.168.0.147:8080 RestApi
    

    这一切看起来都很甜蜜和美好,直到我发现它似乎忽略了ServiceStack服务和响应DTO在上的不同名称空间中。净侧:

    enter image description here

    我有不同的服务分支,其中每个服务的处理程序在分支之间可能略有不同。这在ServiceStack中运行良好,登录和处理程序的工作与预期一样。

    因此,在app/NativeScript/Angular2端,我使用了 类型脚本参考 并生成 restapi.dtos.ts . 问题是它跳过了名称空间的差异,只创建了重复的类(从VSCode):

    enter image description here

    ServiceStack中的后端WS是以这种“分支”的方式构建的,因此我不必在不同的端口上启动不同的服务,而是将所有服务收集在一个端口上,并保持简单明了。

    我的问题可以解决吗?

    1 回复  |  直到 5 年前
        1
  •  2
  •   mythz    6 年前

    你永远不应该依赖。NET命名空间在面向公共的服务合同中。中支持它。NET客户端,但不使用任何其他语言 requires that each DTO be uniquely named .

    通常,DTO在整个SOA边界内应该是唯一的,因此只有1个 Test DTO映射到单个模式定义,该定义确保当它通过服务网关发送、通过服务发现解析、发布到MQ服务器等时,它只映射到单个DTO契约。