2015-12-09 2 views
0

У меня есть библиотека классов в C#, и я добавил эту dll в качестве ссылки на веб-сайт, и я хочу получить доступ к методам, находящимся в библиотеке классов. , когда я попытался получить доступ к этим методам, используя ActiveXObject этом возникает исключение, говоря объект не могу быть созданКак получить доступ к C# dll с помощью JavaScript

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

это мой метод в библиотеке классов C#. и мой браузер следующим

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

ответ

5

Нет! Не пойди так.

Если вы хотите получить доступ к серверным ресурсам с клиентской стороны, вам нужно будет спроектировать и внедрить веб-службу, например, поверх принципов REST, которая напрямую приведет вас к ASP.NET Web API.

Вкратце: выведите ресурсы из бэкэнд с помощью веб-службы и получите доступ к ним с помощью AJAX.

+0

Первая строка этого ответа подводит итог моей первоначальной реакции на этот вопрос отлично! –

+0

@DavidWatts Хахаха, я знаю, что каждый испытает такую ​​же реакцию: «NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO INTEROP NOOOOOOOOOOOOOOO» –

0

Если я не ошибаюсь в угадывании, у вас есть DLL, которую вы хотите запустить в веб-браузере (iirc, только IE). Если это так, вам необходимо зарегистрировать dll на клиентском компьютере (с regsvr, regasm, в зависимости от вашей DLL).

Но я согласен с Матиасом, использую его как последнее средство, например, вы должны вызвать эту DLL для некоторых устаревших требований к оборудованию, устаревшего приложения и т. Д., И вы потратили 3 месяца, по крайней мере, искали другой способ. : p