【发布时间】:2017-01-17 23:30:10
【问题描述】:
我的问题是我需要从网页发送 TCP 消息。出于安全原因,这是不可能的,因此我在已经作为生产环境的一部分运行的程序中编写了一个 C# 函数来发送 TCP 消息,并且我想通过网页调用该方法。我基本上需要托管一个 Web 服务并从网页中的 javascript 调用该 Web 服务中的 C# 函数。我怎样才能简单地做到这一点?
我查看了诸如 asp.net(我的网页是 GIANT Web 客户端的一部分,它不会也将无法使用 .aspx 文件)和 WCF(这对于简单地发送一个TCP 消息),但似乎没有人真正确定我在我已经制作的项目中调用 C# 函数的意图,从一个已经很大且相对不可更改的 Web 客户端。
请注意,我真正想做的是能够在我已经制作并计划部署的项目中调用 C# 代码,所以我希望能够将 REST 功能添加到那里的方法中,但是在某种程度上,我对现有项目之外的简单/智能解决方案也非常开放。
感谢您的指导!
【问题讨论】:
-
c# code必须正在运行,即由某物托管。否则它只不过是磁盘上某处的 dll/exe 文件。因此,您可以将其作为 Windows 服务、控制台应用程序、将其托管在 IIS 等中运行。然后您可以修改该代码以侦听某些内容(TCP、HTTP 等),然后您可以弄清楚如何调用它。您可以说最终的答案将相当广泛,并且会因实施者而异。因此,这个问题不太适合 SO,如果您需要更一般的帮助,请将其发布在 Programmers SE 上或将您的问题缩小到特定细节。 -
@igor 他们可以将代码作为项目包含在具有某种 ASP.NET 项目(Web 服务、网站等)的解决方案中,然后从 ASP.NET 引用该项目项目。这将让他们处理 ASP.NET 项目中的 Web 内容(身份验证/授权、服务器设置等),并将他的原始 C# 函数分开,以防他们需要引用另一个项目的代码。
-
@maniak1982 我尝试过 ASP.NET,但无法从我的 javascript 调用我的 Web 服务。我还认为调用 ASP.NET Web 客户端的脚本必须从 ASP.NET 网页调用(Visual Studio 和教程似乎指向这一点),所以我已经放弃了这种方法,这就是我回来的原因寻找一般建议。如果我错了,请纠正我,因为如果我可以让任何旧 JS 在浏览器中运行以与我的 ASP.NET Web 服务对话,那么我很高兴,但到目前为止我还无法做到。
-
这个问题,尽管有答案,但过于宽泛,可能基于意见。确实有数百种方法可以让这种情况发生,但没有客观的“正确”答案。
-
我知道这很广泛,但仍然从发帖者那里得到了很好的指导,所以这个论坛对我很有帮助。当我进一步研究 ASP.NET 时会确认答案。任何允许我从我的 javascript 调用 C# 方法的方法的答案都是客观正确的。我在了解这一点并试图让它发挥作用时感到困惑的部分原因是“解决方案”/教程等的广泛性质,选择一个我确认是解决我的问题的好选择并解决它会很棒。
标签: javascript c#