Magento.RestApi ведет себя иначе, когда загружается динамически из DLL - PullRequest
0 голосов
/ 19 мая 2018

Я использую Magento.RestApi в большой системе, где я загружаю код динамически из DLL.

Когда я использую приведенный ниже код в автономном проекте, онработает нормально:

private async void dostuff() {
    var client = new MagentoApi()
            .Initialize("<url>", "key", "secret")
            .AuthenticateAdmin("user", "pass");

    var response = await client.GetProductBySku("sku");

    // The response contains the result or errors
    if (!response.HasErrors) {
        var product = response.Result;
        ... do stuff with the result ...
    }
}

Но при загрузке в более крупном проекте появляется сообщение «Запрос не был успешно выполнен», также при попытке отловить ошибку, чтобы найти InnerException или трассировку стека.кажется, что отладчик больше не работает.Распечатка трассировки стека дает мне:

   at Magento.RestApi.MagentoApi.<HandleResponse>d__35`1.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\MagentoApi.cs:line 445
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Magento.RestApi.MagentoApi.<Execute>d__34`1.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\MagentoApi.cs:line 410
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Magento.RestApi.MagentoApi.<GetProductBySku>d__45.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\MagentoApi.cs:line 708
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Magento.RestApi.SapphireMagentoDriver.<DoDownloadArticles>d__6.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\DriverInterface.cs:line 103

Мне пришлось скомпилировать Magento.RestApi из исходного кода, поскольку пакет NuGet использует пакет NewtonSoft.Json, отличный от моего большого проекта.Это прекрасно работает в автономной версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...