DDD的单Controller实战-解决技术栈兼容问题

这篇具有很好参考价值的文章主要介绍了DDD的单Controller实战-解决技术栈兼容问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


在系统演进过程中,往往会遇到技术栈不兼容的问题。

比如公司一直用的.net技术栈,而你是Java技术栈或其他,为了做兼容,自主开发了以下中转服务,该服务已上线,目前稳定。

虽然可以使用Nginx的路由负载机制,来实现多技术栈的兼容,但考虑到要降低对现有业务的影响。所以采取了保守的解决方案。

实现原理

1、在iis上创建一个站点,通过该站点接收http请求
2、A服务根据Content-type和请求方法路由访问不同的B服务接口
3、A服务只做请求和响应数据的透传

代码实战

A服务代码(.net)
主要是将访问B服务的接口路由放到了Header中文章来源地址https://www.toymoban.com/news/detail-667514.html

public class ApiController : Controller
    {
   
        static string url = "http://localhost:8949";
        [System.Web.Mvc.HttpGet]
        public ActionResult Index()
        {
   
            string route = Request.Headers["proxyRoute"];
            string requestUrl = $"{
     url}/{
     route}?{
     Request.QueryString}";
            Task<string> task = getRequest(requestUrl);
            return result(task.Result);
        }


        [System.Web.Mvc.HttpPost]
        public ActionResult Index(string xx)
        {
   
            string requestInfo = null;
            Request.InputStream.Position = 0;
            using (var reader = new StreamReader(Request.InputStream, Encoding.UTF8))
            {
   
                var requestBody = reader.ReadToEnd();
                try
                

到了这里,关于DDD的单Controller实战-解决技术栈兼容问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【实战项目开发技术分享】如何解决机器人运动不平稳的问题

    机器人的运动平稳性对于其在各种应用中的成功执行任务至关重要。当机器人在执行任务过程中出现不稳定的运动,可能导致任务失败、损坏周围环境或甚至危及人员安全。因此,解决机器人运动不平稳问题是一个非常重要的挑战。本篇博文将向您介绍一些有效的方法来解决

    2024年02月16日
    浏览(27)
  • 【Unity】Animator Controller中动画消失 显示问题分析及解决方案

    Unity中的Animator Controller界面突然显示空白,编辑好的动画可以正常播放,但Animator ControllerAnimator Controller界面就是不显示。重启后就再次出现,启动项目后就又消失 可能是Unity缓存问题,重新生成Unity中缓存文件即可。 关闭Unity编辑器 打开项目所在位置的 Library 文件夹 将该文

    2024年02月11日
    浏览(48)
  • SpringBoot+thymeleaf实战遇到的问题

    目录 一、控制台: 二、数据库查询异常: 三、前后端错误校验 ​编辑 四、在serviceImp中需要添加一个eq条件,表示和数据库中的哪个字段进行比较,否则会查出所有数据,导致500 五、使用流转换数据更简洁 六、重复报错,多次遇见 七、Mybatis使用,常见错误: 1.名字写错了

    2024年01月19日
    浏览(27)
  • ASR项目实战-交付过程中遇到的内核崩溃问题

    当前参与交付的语音识别产品服务,算法模块基于经典的Kaldi,算法中的一部分运行在GPU之上。 算法团队采用的是声学模型+语言模型的1-pass方案。这个方案的特点在于,语言模型数据文件(HCLG文件)的大小,和训练语料的丰富程度正相关,即语言文本的语料越多,经过训练

    2024年02月03日
    浏览(52)
  • 解决flex gap兼容性问题

    一个项目写下来,在网页端预览的时候正常,结果到产品经理手上。 设计稿样式 实际产品手机上样式 产品:“你这玩意儿怎么没间距?” 我:“为什么我的正常???呐呐呐你看我手机(来自RedmeK50Utral)” 产品:“哦,你看我的手机(来自荣耀20)” 我:“。。。” 至此

    2024年02月07日
    浏览(38)
  • 解决前端浏览器兼容性问题

    解决前端浏览器兼容性问题时前端开发中的一项重要任务。以下是一些常用的方法来解决这类问题: 1、使用css前缀: 不同浏览器可能对某些CSS属性有不同的前缀要求。可以使用CSS前缀来覆盖不同浏览器的样式需求。例如,使用 -webkit 前缀来适配WebKit(Chrome、Safari)浏览器

    2024年02月09日
    浏览(31)
  • 【FPGA】解决vivado工程版本兼容问题

    个人笔记。 vivado不同版本之间有可能并不兼容,需要更改一些配置即可。我现在用的是vivado2017.4版本,现在想打开vivado2018.3版本的工程,但会出现警告,主要是版本不兼容导致。 可以按以下步骤来解决。 1、用一个文本编辑器打开我们的工程项目.xpr,修改version和minor 看到

    2024年02月03日
    浏览(27)
  • spring boot与spring cloud版本兼容问题解决(附版本兼容表)

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 以下为解决报错问题,如果看完还不能解决,可以参考下面这篇文章搭建spring cloud sp

    2024年02月13日
    浏览(29)
  • ASR项目实战-交付过程中遇到的疑似内存泄漏问题

    基于Kaldi实现语音识别时,需要引入一款名为OpenFST的开源软件,本文中提到的内存问题,即和这款软件相关。 考虑到过程比较曲折,内容相对比较长,因此先说结论。 在做长时间的语音识别时,集成了Kaldi和OpenFST的进程将会占用远超出预期的内存,这个现象可能和OpenFST、

    2024年02月03日
    浏览(50)
  • 如何解决群晖硬盘兼容性问题

    首先,在群晖设置-终端-启用SSH。然后,下载putty,用administrator管理权限组的账号登录, 如输入“ssh 你的DSM用户名@IP”,输入登录密码登录。最后,运行以下命令切换到root权限。 sudo - i 进到系统配置文件夹。 cd  /etc.default 备份配置文件 cp  synoinfo.conf synoinfo.conf2 编辑配置文

    2024年02月09日
    浏览(142)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包