【问题标题】:How to access C# dll using JavaScript如何使用 JavaScript 访问 C# dll
【发布时间】:2015-12-09 11:19:14
【问题描述】:

我在 c# 中有一个类库,我添加了该 dll 作为对网站的引用,我想访问类库中的方法。 当我尝试使用 ActiveXobject 访问这些方法时,它会抛出一个异常,说无法创建对象

namespace Office
{
    public class Algebra
    {
        public double Addition(double x, double y)
        {
            return x + y;
        }
    }
}

这是我在 c# 类库中的方法。 我的javascript如下

(function () {
        alert("suresh");
        var myobj;
        myobj = new ActiveXObject("Office.Algebra");
        alert(myobj);
        var add = myobj.Addition(7, 6);
        alert(add);
    })();

【问题讨论】:

    标签: javascript c# visual-studio


    【解决方案1】:

    不!不要走这条路。

    如果您想从客户端访问服务器资源,您需要设计和实现一个 Web 服务,例如基于 REST 原则,这会直接驱使您访问ASP.NET Web API

    总而言之:使用 Web 服务从后端公开资源并使用 AJAX 访问它们。

    【讨论】:

    • 这个答案的第一行完美地总结了我对这个问题的最初反应!
    • @DavidWatts 哈哈哈,我知道大家都会有同样的反应:“NOOOOOOOOOOOOOOOOOOOOOOOOOOO INTEROP NOOOOOOOOOOOOOOO”
    【解决方案2】:

    如果我没猜错,您有一个要在网络浏览器(iirc,仅限 IE)上运行的 dll。如果是这种情况,那么您必须在客户端计算机上注册 dll(使用 regsvr、regasm,具体取决于您的 dll)。

    但我同意 Matias 的观点,把它作为最后的手段,例如,你必须调用这个 dll 来满足一些遗留硬件要求、遗留应用程序等,而且你至少花了 3 个月的时间寻找另一种方式。 :p

    【讨论】:

      猜你喜欢
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多