【问题标题】:Calling a C# windows service function through javascript通过 javascript 调用 C# windows 服务函数
【发布时间】:2013-12-16 15:54:04
【问题描述】:

我正在开发一个 Windows 服务,它充当 Web 应用程序和独立客户端程序之间的媒介。简而言之:在我的 Web 应用程序上提交表单之前,我希望它由我的客户端独立程序加密。通信媒介必须是 Windows 服务。

我的问题是:如何通过 JS 在我的服务中调用 C# 函数? (此功能将帮助我在网站和独立应用程序之间来回传递数据)

我之前成功地使用小程序作为媒介,但我回避了这个想法,因为很多安全问题都被策划得很晚。

【问题讨论】:

  • 除了使用https之外,您还需要对表单进行加密吗?
  • 实际上,我正在开发一个新的社交网络,它不会在服务器上以明文形式存储任何用户敏感数据。因此,我正在使用 Bouncy Castle 在客户端加密和解密所有内容。但这可能不是重点。
  • 不,这是有道理的,也是我想知道的。

标签: c# javascript windows-services


【解决方案1】:

您可以在 Windows 服务中自行托管基于 REST 的服务。例如使用 NancyFx 框架http://nancyfx.org/。然后,您可以使用 localhost 作为端点进行 ajax 调用,这意味着必须在访问它的任何客户端上安装并运行该服务。

也只是一个查询,你为什么要做自己的加密客户端?您可以使用 SSL 加密与服务器的通信,然后在服务器端进行任何您需要的加密。这是强加给你的某种设计吗?

【讨论】:

  • 感谢大脚趾的替代品。是的,我正在遵循给定的架构。我想将您重定向到我在问题中的评论!
  • 请注意,在调用与原始站点不同的站点时,您会遇到跨站点调用问题。你需要实现某种形式的 CORS 处理来克服这个enable-cors.org
【解决方案2】:

必须成为 Windows 服务吗?

您可以编写托管在 Windows 服务中的 WCF 服务。 MSDN 上有一篇关于如何做到这一点的文章 (http://msdn.microsoft.com/en-us/library/ms733069(v=vs.110).aspx),网上还有更多。

您不能直接调用在 Windows 服务中定义的函数,您必须使用某种端点将其暴露给外部世界,就像 WCF 所做的那样。

【讨论】:

  • 同意。谢谢,但是即使使用 WCF,我如何才能从 javascript 调用函数?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 2016-01-15
相关资源
最近更新 更多