PostAsyn c вызов с уровня приложения в шаблоне - PullRequest
0 голосов
/ 03 апреля 2020

ОБНОВЛЕНИЕ: Основная проблема в том, что ABPSesssion получает нулевое значение после запроса postasyn c. Я думаю, что если я смогу вернуть обратно свой abpsssion, это сработает.

Я пытаюсь сделать вызов API типа postAsyn c. Проблема в том, что теперь я получаю ответ очень хорошо, когда я пытаюсь сохранить этот ответ в моей базе данных, используя createAsyn c, я получаю исключение для экземпляра объекта. Я проверил в журналах все, что он говорит: «Ошибка выполнения политики. Источник запроса http://localhost: 21021 не имеет разрешения на доступ к ресурсу».

То же самое работает отлично для getasyn c API звонки. Что я должен сделать, я вошел в систему с учетной записью администратора, которая имеет все права

// код

    HttpClient client = new HttpClient();
    var SLACK_TOKEN = OneConsts.SlackToken;

    var values = new Dictionary<string, string>
    {
        { "token", SLACK_TOKEN },
        { "name", "contacts2" },
    };

    var content = new FormUrlEncodedContent(values);
    var response = await client.PostAsync("https://slack.com/api/conversations.create", content);

    var data = response.Content.ReadAsStringAsync().Result;
    JObject obj = JObject.Parse(data);

    foreach (var item in obj["channel"])
    {
        input.ChannelId = obj["channel"]["id"].ToString();
        input.ChannelName = obj["channel"]["name"].ToString();
        input.JSONinfo = obj["channel"].ToString();
        var slack = SlackConnector.Create(input.ChannelId, input.ChannelName, input.JSONinfo);
        await _slackconnectorManager.CreateAsync(slack);
        CurrentUnitOfWork.SaveChanges();
        MapToEntityDto(slack);

Исключение:

System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=Microsoft.AspNetCore.Http.Extensions
StackTrace:
at Microsoft.AspNetCore.Http.Extensions.UriHelper.GetDisplayUrl(HttpRequest request)
at Abp.EntityHistory.EntityHistoryHelper.CreateEntityChangeSet(ICollection1 entityEntries) at Abp.Zero.EntityFrameworkCore.AbpZeroCommonDbContext3.d__98.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.d__20.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.d__12.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.d__14.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.Domain.Uow.UnitOfWorkBase.d__57.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.Domain.Uow.UnitOfWorkInterceptor.<>c__DisplayClass6_0.<b__2>d.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Abp.Threading.InternalAsyncHelper.d__51.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at Davigold.One.Crm.SlackConnector.SlackConnectorManager.d__4.MoveNext() in C:\Users\dell\source\repos\Davigold\OneDavigold\src\Davigold.One.Core\Crm\SlackConnector\SlackConnectorManager.cs:line 58

This exception was originally thrown at this call stack:
[External Code]
Davigold.One.Crm.SlackConnector.SlackConnectorManager.CreateAsync(Davigold.One.Crm.SlackConnector.SlackConnector) in SlackConnectorManager.cs

1 Ответ

1 голос
/ 06 апреля 2020

Проблема была проста: жду postasyn c Я заменил эту строку на var response = client.PostAsyn c ("https://slack.com/api/conversations.create", content) .Result;

...