首页 > 解决方案 > 如何将 C# 代码集成到现有的 Javascript 网站(Angular)中?

问题描述

我们有一个庞大的 Javascript 网站生态系统,实际上是 Angular,我们不打算很快用 c# 重写。所以这里的目标是能够在我们的 javascript 中使用供应商 dll 来添加新功能。这是一个专有系统,我们没有任何选择,要么我们使用他们的 dll,要么我们没有该功能。我在这里对 webassembly 寄予厚望,因为这看起来像是使用该 dll 的灵丹妙药,而无需用新语言重写整个项目。

问题:我能找到的所有示例更多地是关于使用 Blazor 编写网站或从 Blazor 调用 javascript,我找不到任何东西可以将一些临时 C# 代码包含到现有项目中。我会认为这将是一个很好的用例,因为能够在网页上利用 C# 线程池对我来说听起来很不错!

有人做过类似的事情或知道一些我可以遵循的示例/教程吗?

标签: javascriptc#asp.net-coremonoblazor

解决方案


正如 Tuan 所说,Angular 和 C# 并没有按照您建议的方式真正共存。

我想说这里有两种不同的方法。

  1. 有一个 C#.NET MVC 应用程序,但调整路由,以便 Angular 应用程序处理一些页面,而 .NET 应用程序处理其他页面。这没问题,但是有很多陷阱,例如您无法共享捆绑的 CSS 和 JS 或维护 Angular 控制器的结构(以及其他)。

  2. 更好的方法是让你可爱的 Angular 应用程序保持原样,但有一个单独的 Web API 应用程序/项目,并使用 Angular 应用程序在正确的上下文中调用 dll(项目中的引用)作为 REST API(通过一个简单的POST 或 GET 调用)。

当您说“...能够在我们的 javascript 中使用供应商 dll 来添加新功能...”时,您并不太清楚您想要做什么,但是您可以在 . NET核心在这里

https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio


推荐阅读