【问题标题】:ASP.Net - Hosting Web API source code without publishingASP.Net - 托管 Web API 源代码而不发布
【发布时间】:2018-06-04 10:27:22
【问题描述】:

有什么方法可以在不发布的情况下托管基于 C# 的 ASP.Net Web API 项目?这是一个新项目,我希望能够直接托管 C# 源代码文件。这样每次有更新时,我都可以只替换必要的 C# 代码文件,而不是发布项目并发布 dll 文件。

请注意,我也在使用实体框架,以防万一。

【问题讨论】:

  • 您的代码需要托管在某种网络服务器中。你肯定需要编译它——你不能只托管.cs 文件。我不确定您所说的“直接托管 C# 文件”是什么意思,但也许您的意思是在您自己的 Web 服务器中运行。这是完全有效的,但有点安全问题。
  • 有一个发布步骤的充分理由。例如,您只有在没有错误时才发布您的应用
  • 我确实有自己的服务器空间,这就是我托管项目的地方。我明白托管已发布的代码将有助于确保它没有错误。然而,虽然我们仍处于初步开发阶段,但我想知道是否可以发布 API 的代码文件,并以某种方式在运行时编译页面。这样,如果有一个非常小的变化,我可以只替换 .cs 文件,而不是再次编译并再次发布 .dll 文件。
  • 编译和部署的实际问题是什么?因为您可以使用持续集成,将代码检查到源代码控制中,然后由单独的代理编译并部署它,但我认为这不是您想要的。只是想了解这里的问题。编译/部署太慢?太复杂了?
  • 主要原因是我想在我的团队不可用时保持调试代码和在服务器上发布快速修复的能力,以防有任何紧急需求。虽然我们将在几周内拥有更好的系统(每周发布等),但截至目前,直接在服务器上尝试一些更改而不是在本地项目中进行更改然后在服务器上发布 dll 会更快,因为无论如何这是一个沙盒系统。

标签: c# asp.net entity-framework asp.net-web-api publishing


【解决方案1】:

C# 不是脚本,您不能只运行源代码而不编译(或发布)它。

【讨论】:

  • 我正在使用 C# 对后端函数 (API) 进行编码。我的意思是问是否有任何方法可以像我们托管 Web 服务的方式一样直接将它们托管为代码,并且那些在运行时编译而不是发布已发布的 dll。
  • “我可以只替换 .cs 文件,而不是再次编译并再次发布 .dll 文件”——恐怕你不能为 ASP.NET 应用程序这样做。
  • 我们以前在 ASP.NET 网站项目中这样做过。因此,如果它是可行的 - 它绝对是一种或另一种方式。最后的手段是运行系统服务来监视文件更改以重新编译源。虽然在这种情况下我会选择真正的 CI-CD。
猜你喜欢
  • 1970-01-01
  • 2014-05-29
  • 2015-01-09
  • 2013-01-24
  • 1970-01-01
  • 2019-09-08
  • 1970-01-01
  • 2020-11-23
  • 2021-07-20
相关资源
最近更新 更多