powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
5 сообщений из 5, страница 1 из 1
Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
    #39727009
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Public Class FreenomDNS
        Public UserName, Password As String
        Public FreenomAPIObject As Object

        Public Function Authorize(UserName As String, Password As String)
            Dim F = EdgeJs.Edge.Func("
                    var Freenom;
                    F=function (data, callback) 
                    { 
                        Freenom = require(""freenom-dns"").init(data, ""Password123"");
                        callback(null, Freenom); 
                    };
                    return F;
                ")

            'Dim T = F({UserName, Password})

            Dim T = F(UserName) ' Task
            T.Wait()
            Dim FreenomAPIObject As System.Dynamic.ExpandoObject = T.Result()
            Dim EO As Object = FreenomAPIObject
            Dim Domains = EO.listDomains()
        End Function

    End Class



Пытаюсь в виртуальной машине DotNet обратиться к методам объекта Freenom, созданного в NodeJS.
Выдает ошибку, мол нет такого метода у ExpandoObject.
Как это сделать правильно?
...
Рейтинг: 0 / 0
Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
    #39727011
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
    #39727166
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь вызвать метод listDomains БЕЗ дополнительного кода JavaScript для определения callback-а этого метода:
Код: vbnet
1.
2.
3.
            Dim FreenomAPIObject As System.Dynamic.ExpandoObject = F(UserName).WaitResult()
            Dim ListDomainsFunc As System.Func(Of Object, System.Threading.Tasks.Task(Of Object)) = CObj(FreenomAPIObject).dns.listDomains
            Dim R = ListDomainsFunc(Nothing).WaitResult()



Виснет на последней строчке активации WaitResult().
Что я делаю не так?
...
Рейтинг: 0 / 0
Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
    #39727239
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного переделал, все так же виснет, как исправить?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
    Public Class FreenomDNS
        Public UserName, Password As String
        Public EdgeFunc As System.Func(Of Object, System.Threading.Tasks.Task(Of Object))
        Public Freenom As Object

        Public Function Authorize(UserName As String, Password As String)
            EdgeFunc = EdgeJs.Edge.Func("
                    var Freenom;
/*
                    ReturnValueFunc=function()
                    {
                        return Freenom;
                    }
*/
                    EdgeFunc=function (data, callback) 
                    { 
                        var UserName=data[0];
                        var Password=data[1];
                        Freenom = require(""freenom-dns"").init(UserName, Password);
                        callback(null, Freenom); 
                    };
                    return EdgeFunc;
            ")
            Freenom = EdgeFunc({UserName, Password}).WaitResult().dns
        End Function

        Function ListRecords(ForDomain As String)
            Dim FreenomFunc As System.Func(Of Object, System.Threading.Tasks.Task(Of Object)) =
                   Freenom.listRecords 'listDomains
            ListRecords = FreenomFunc(ForDomain).WaitResult(5000)
        End Function
    End Class

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim TestDNS As New FreenomDNS
        TestDNS.Authorize(UserNameConst, PasswordConst)
        Debug.Print(TestDNS.ListRecords(DomainNameConst).ToString())
...
Рейтинг: 0 / 0
Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
    #39729259
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переведи все в C#- больше людей сможет попочь, а то VB.NET не в фаворе нынче.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов NodeJS их VB.NET через EdgeJS, возврат объекта, доступ к его методам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]