【问题标题】:deploy my REST Api service project to Azure将我的 REST Api 服务项目部署到 Azure
【发布时间】:2017-09-01 17:35:36
【问题描述】:

我们正在用 MVC 4 开发一个应用程序。

这是我们的场景:

1) 我们遵循插件架构,因此我们有其他项目可以插入到主 Web 应用程序中。现在我们正在使用 installshield 将我们的 dll 从其他项目部署到主 Web 应用程序中。 将主 Web 应用程序发布为 Azure App 服务时我们该怎么做。 Azure 中是否有任何功能,以便我们可以删除安装 Sheild 并使用 Azure 中的某些属性将 dll 从其他项目移动到主 Web 应用程序文件夹。

2)我们启用了日志记录功能,因此日志保存在 AppData 文件夹下的本地文件存储中,并将相同的日志文件上传到 Db 并删除本地日志文件?如果迁移到 Azure 应用服务,我们如何实现同样的目标?

3)我们的 MVC 应用程序使用 rest Api 调用调用另一个服务应用程序。目前我们在 MVC 应用程序下的配置文件中提到了服务详细信息。 如果我们要迁移到 Azure,我的 MVC 应用程序中提到的配置属性如何调用服务项目。

首先,我想将我的 REST Api 服务项目部署到 Azure。我的项目是一个类库,请帮助如何将我的服务项目移动到 Azure App 服务并获取服务器名称.

【问题讨论】:

  • 我不太了解这里的挑战。您没有将应用程序从 MVC4 迁移到 Azure。这就像说,您正在从在家看电影迁移到开车。我认为您正在尝试询问“将在本地 Web 服务器上运行的 MVC 应用程序迁移到 Azure 应用程序(网站)服务。你能澄清一下吗?
  • 我试图了解我的应用程序在部署到天蓝色时的行为方式,并且在第 2 点和第 3 点的情况下会出现问题。
  • 好吧,你为什么不这么说呢?标题是无可救药的误导。在这种情况下,您应该首先部署它(显而易见的事情),然后让我们知道您遇到的问题。如果您遇到问题,我们可以为您提供帮助,但不是在它发生之前。
  • 好的。首先,我想将我的 REST Api 服务项目部署到 Azure。我的项目是一个类库,请帮助如何将我的服务项目移动到 Azure App 服务并获取服务器名称。
  • 好的,我已经编辑了您的问题以更新您的要求。修改获得批准后,您将开始在下方看到相关答案。

标签: azure asp.net-mvc-4 azure-web-app-service azure-app-service-envrmnt


【解决方案1】:

1) 插件架构

我们有类似的要求,但我们没有使用 InstallShield 将插件 DLL 复制到我们的 Web 应用程序,而是创建了以下文件夹结构:

  • -- MVC 应用程序

  • ---- bin

  • ---- App_Plugins
  • -------- 插件1
  • ------------ 发布 DLL
  • -------- 插件2
  • ------------ 发布 DLL

  • --插件(实际源码)

  • ----插件1

  • ----插件2

并设置我们的Plugin 1和Plugin 2的输出目录指向..\App_Plugins\Plugin1\

我们只是将这个应用程序直接发布到 Azure 网站,这就像一个魅力。

然后我们发现了 VSTS 上的 CI/CD 流程,这改变了一切,它为我们提供了一种更优雅的方式来管理所有这些。如果您需要,可以提供更多详细信息。

2 日志功能

如果您用于将所有这些内容移至数据库的所有日志记录代码和逻辑都在应用程序中,那么您不必担心任何事情,只要您正确设置数据库连接,它就可以毫无困难地工作。

配置文件中的 3 个 REST API 设置

MVC 应用程序的 web.config 文件与应用程序的其余部分一起发布。因此,只要您的设置在 web.config 中提及并且它们在本地工作,它在 Azure 中也应该可以正常工作。

【讨论】:

  • 2)日志记录的代码在另一个服务项目(VS解决方案)中可用,它将存储在数据库中。该服务就像一个调度程序,会定期上传日志。如果这样,请告诉我将在 azure 中支持。
  • 3) 目前我们正在部署我们的服务应用程序,该应用程序最初遵循(插件架构)并在 Web 应用程序配置文件中提及服务器名称和端口号。在Azure中部署时,我们可以在Web应用程序的配置文件中获取服务器名称和端口。否则服务器名称和端口号会动态变化
  • 2) 创建网络作业或使用 Azure 函数来执行此操作。 3) 在 azure 中,您将需要使用 FQDN,并且不会提供服务器名称/端口,除非您使用 VM 来托管您的服务应用程序。当您将任何应用程序移动到 azure Web 应用程序时,它会自动生成一个 FQDN yoursite.azurewebsites.net,它也可以自定义为具有自定义域。
【解决方案2】:

从这里开始 - https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-deploy

确保您已经拥有 Azure 帐户,当然 Visual Studio 已安装 Azure SDK(可能需要)。

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    相关资源
    最近更新 更多