【问题标题】:Calling a C# method from a Typescript method in Angular 7从 Angular 7 中的 Typescript 方法调用 C# 方法
【发布时间】:2019-10-08 08:40:26
【问题描述】:

我有一个 Angular 项目,它定义了 UI 及其事件等。

我还有一个 C# 项目,它执行一些业务逻辑。

C# 端正在准备结果,我需要以某种方式在页面的点击事件中读取它们并显示它们。

我可以在 Angular 的项目中引用 C# 项目,但由于我同时控制 Angular 和 C# 代码,我也可以直接将 C# 文件添加到 Angular 项目中,而无需引用外部项目。

我需要的伪代码:

C#代码可以是这样的:

public List<Agent> CSharpGetAgents()
{
   .. fetch data from db
   .. call web service
   .. prepare list of agents
   return agentsList;
}

在 Typescript 方面,我想做一些类似的事情:

let agents : Agent[] = CSharpGetAgents();

我怎样才能做到这一点?

【问题讨论】:

  • C# 是服务器端*,Angular 是客户端,Angular 调用 C# 的唯一方法是通过 Web 服务。 (* 是的,Blazor 总有一天会成为一件事,但出于这个目的,它不是)
  • 有没有办法通过一些封送处理将 .NET 类型转换为 TS 类型?
  • 不,这两件事完全不相关。
  • 这几乎是 Web 服务 API 的重点。
  • 如果是关于类型,我总是可以使用 json 而不是返回对象本身。还是根本不可能在 TS 中进行 C# 调用,无论我引用什么?

标签: c# angular typescript angular7


【解决方案1】:

无法在 TypeScript 中进行 C# 调用。

C# 以编译后的 DLL 形式在服务器上运行。 TypeScript 编译成 JavaScript,在客户端运行。

要在它们之间进行通信,您需要在服务器上构建一个带有服务端点的 API。然后,您需要通过从客户端请求数据来检索数据。

【讨论】:

    猜你喜欢
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多