Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种.Net技术与可编写脚本的Java小程序等效?(针对特定用例)_Java_Javascript_.net_Silverlight_Applet - Fatal编程技术网

有没有一种.Net技术与可编写脚本的Java小程序等效?(针对特定用例)

有没有一种.Net技术与可编写脚本的Java小程序等效?(针对特定用例),java,javascript,.net,silverlight,applet,Java,Javascript,.net,Silverlight,Applet,我公司的核心技术组件之一是用于数字签名的Java小程序。这是一个无头组件,因为所有的表示都是通过HTML/CSS处理的,applet方法是从Javascript调用的。小程序本身在页面中不可见 现在我们遇到了这样一种情况:我们有一些特定的签名格式(docx[OfficeOpenXML]文档中嵌入的签名),使用.Net类更容易处理,并且我们有一些作为.Net DLL的原型实现 在旧的COM年代,Active/X组件被用于具有类似用途的网页中,并且也可以编写脚本。我想知道现在嵌入.Net类和使用Ja

我公司的核心技术组件之一是用于数字签名的Java小程序。这是一个无头组件,因为所有的表示都是通过HTML/CSS处理的,applet方法是从Javascript调用的。小程序本身在页面中不可见

现在我们遇到了这样一种情况:我们有一些特定的签名格式(docx[OfficeOpenXML]文档中嵌入的签名),使用.Net类更容易处理,并且我们有一些作为.Net DLL的原型实现

在旧的COM年代,Active/X组件被用于具有类似用途的网页中,并且也可以编写脚本。我想知道现在嵌入.Net类和使用Javascript编写脚本的等价物是什么(如果有的话)


使用什么技术?Silverlight是一种方法,还是偏向RIA,即具有视觉外观的应用程序?如果这是一个很好的解决方案,我将非常感谢向教程或代码示例提供这方面的指导。过去我接触过.Net(C#)大约1年,但没有接触过Silverlight。

是的,Silverlight相当于Java小程序。您可以用C#、VB、Python、Ruby等语言编写代码,并可以通过DOM和Javascript与之交互


不过,在您的一条注释中,您指出要使用存储在本地计算机上的客户端证书对文档进行签名。我不知道使用基于浏览器的Silverlight应用程序有什么方法可以做到这一点。您可以使用浏览器外的Silverlight应用程序加载COM对象来为您出价,但您将无法编写脚本。

Silverlight不是此处要使用的技术。它不提供您所需的用户系统访问权限

但是,没有什么可以阻止您使用.NET代码创建ActiveX/COM组件。然后,您可以围绕完成工作所需的完整.NET类创建COM/可编写脚本的友好包装器


当然,这不再是跨浏览器的。如果您需要跨浏览器解决方案,那么您将陷入一个痛苦的世界,因为您将需要从其他浏览器的扩展技术接口到一些.NET代码中。这可能会涉及到一些COM。

您是否希望在客户端(web浏览器)进行此操作?我想是SilverLight?等等,如果你给它加了标签,你到底在找什么?Silverlight的问题是,如果他想修改本地计算机上的Word文档,他会遇到问题。试图从web浏览器修改本地计算机上的文件是一件非常糟糕的事情,因此他提到的许多“技术”(ActiveX、小程序)已经消失了。至少在数字签名领域,小程序还远远没有消失,因为它们提供了唯一可互操作的解决方案。但在我们的例子中,他们“躲在屏幕后面”,不参与可视化。是的,它必须是客户端技术(以便在本地计算机中访问用户的证书)。文件本身将在服务器中,签名并发回。我们将尽量减少流量,就像我们使用小程序一样(我们在服务器中预处理和后处理文档,只在散列和签名之间移动)。他可以使用浏览器外的Silverlight修改本地文件,但听起来不是这样。他想要一个相当于Java小程序的.Net,而且由于小程序是沙盒的,所以他可能不会寻找一个在沙盒中不起作用的解决方案。从Silverlight插件无法在本地计算机上获得用户证书。安东尼:你可能是对的。他可能可以在OOB应用程序中执行此操作,但他无法编写脚本。您能给我指出一些有关适用于Silverlight组件的限制的客观信息吗?例如,由于安全/运行时限制,.Net API/库的某些部分无法访问?我发现了这一点,并且不支持System.IO.Packaging,其中包括支持OpenXML文档数字签名的类。。。运气不好,我在MSDN上读了一些书,我觉得Silverlight专注于构建RIA和与Flash竞争,似乎不是适合这种情况的解决方案。证明我错了。在这种情况下,跨浏览器不是真正的要求。使用Javascript/jQuery编写脚本是非常困难的。你能提供一些关于如何围绕.Net代码编写这些COM包装器的建议吗?@Carles:阅读MSDN中的这一部分:按照你的建议进行更具指导性的搜索,我发现这个示例“用于JavaScript/HTML的C#COM对象,包括事件处理”似乎可以概括所有内容。