在没有ASP.NET的情况下从JavaScript/HTML访问C#代码

Accessing C# code from JavaScript/HTML without ASP.NET

本文关键字:JavaScript HTML 访问 代码 情况下 ASP NET      更新时间:2023-09-26

我有一个WCF服务在Visual Studio中运行。我有一些文件在浏览器中显示该服务的web界面。我在Web.config中还有一个设置,用户可以将其设置为禁用/启用接口。我需要我的JavaScript才能看到这个设置来禁用/启用界面按钮。

我知道使用带有访问Web.config的代码隐藏类的aspx页面是可能的,但是否可以只使用HTML/JavaScript访问设置,而不使用aspx页面?

您可以使用js对wcf进行ajax调用,并获得所需的设置

https://msdn.microsoft.com/en-us/library/bb924552(v=vs.110).aspx

http://api.jquery.com/jquery.ajax/

即使可以对其进行配置,也不应允许从UI(HTML/JS)直接访问web.config。这将允许任何人通过修改页面来查询配置(如DB连接字符串),这是一个安全问题。相反,将您感兴趣的设置加载到web服务中,并允许HTML/JS查询。或者,将它们作为参数(甚至是隐藏的文本框)写入正在渲染的页面,或者使用服务端来控制渲染。

如果您试图仅在客户端上运行此程序(即从文件夹而不是从web服务器),则由于安全隔离,您将无法读取文件。在这种情况下,从url查询字符串控制参数可能是比web.config更好的方法。