dotnetopenauth с asp.net mvc доказательство слишком печального для использования

Вам нужно сделать метод асинхронным. Измените это:

public void SaveSuggestedItems(string emailbody, string OrderHeaderID)

на это:

public async Task SaveSuggestedItems(string emailbody, string OrderHeaderID)

Теперь вы можете ждать этого.

Примечание: Вы не должны (и не можете) на самом деле return Задание явно. Компилятор генерирует один для вас.

Кроме того, рассмотрите возможность изменить имя на SaveSuggestedItemsAsync().

Наконец, убедитесь, что действительно необходимо сделать его асинхронным.

17
задан abatishchev 21 May 2013 в 03:41
поделиться

2 ответа

Полагаю, вы, вероятно, начали с новых шаблонов проектов DNOA, которые содержат много кода и довольно сложную схему базы данных, но большинство из них необходимо только для поставщиков OAuth и OpenID, а не для проверяющих сторон. Это может быть немного сложно, когда вы пытаетесь понять, как интегрировать это в существующее решение.

Я бы рекомендовал не начинать с шаблона проекта, но с примером проекта вы можете найти в папке Samples / OpenIdRelyingPartyMvc. Чтобы даже минимизировать это, все, что вам нужно для очень простого сценария (например, просто чтобы иметь возможность отображать URL-адрес OpenID пользователя, который только что вошел в систему), находится в методе Authenticate UserController. Это всего лишь несколько строк.

В моем случае, после очень быстрого начала работы на основе этого примера, я немного углубился в код, сгенерированный шаблоном проекта, изучил и применил некоторые полезные улучшения, но все еще очень легкий и простой, и он прекрасно работает, поэтому далеко для меня.

Кстати: я думаю, что DNOA не только идеально спроектирован и хорошо документирован, но и является одной из лучших поддерживаемых библиотек с открытым исходным кодом, которые я когда-либо использовал. Бьюсь об заклад, Андрей оставит комментарий здесь менее чем за 24 часа; -)

5
ответ дан 30 November 2019 в 14:41
поделиться

Попробуйте это. http://www.west-wind.com/Weblog/posts/899303.aspx .

dotnetopenauth включает образец приложения asp.net mvc, демонстрирующий его работу. Я оценил его перед переключением на Spring mvc, но смог разработать функциональный POC на основе логики в образце кода. Если я правильно помню, ваше представление включает текстовое поле, которое отправляет openid в контроллер, а контроллер использует api dotnetopenauth, чтобы перенаправить вас к провайдеру open id для аутентификации.Перенаправление включает URL-адрес вашего сайта через строку запроса, поэтому провайдер открытого идентификатора может перенаправить вас обратно после аутентификации. Ваш контроллер снова будет использовать api dotnetopenauth, когда конечный пользователь будет перенаправлен обратно на ваш сайт, и вы сможете извлечь открытый идентификатор. Я знаю, что это объясняет только то, что вы, возможно, уже знаете, но, как я уже сказал, у меня не было проблем с его работой. разместите свой код. Я закодировал виртуальную машину и больше не могу получить доступ, но сейчас загружаю ее снова. это звучит как хороший материал для блога.

3
ответ дан 30 November 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: