Я пытаюсь интегрировать SagePayMvc.dll
в проект веб-API ASP.NET, для которого требуется передать ControllerContext.RequestContext
, чтобы сформировать URL-адрес уведомления.using ControllerContext.RequestContext в контроллере web-api
В настоящее время я испытываю некоторые трудности в достижении этой цели, мне нужно передать ControllerContext.RequestContext
от этого веб-апи контроллера:
public class PaymentStartController : ApiController
{
private PaymentRepository paymentRepository = new PaymentRepository();
private SagePayHelper sagePayHelper = new SagePayHelper();
public Order MakePaymentInitial(Payment payment)
{
Order order = new Order();
order = sagePayHelper.MakePayment(payment, context);
paymentRepository.InsertVendorTXCode(order.VendorTxCode);
paymentRepository.InsertInitialPaymentDetails(order, payment);
return order;
}
}
Я попытался добавить публичный ControllerContext controllerContext = new ControllerContext()
ниже конкретизации SagePayHelper, а затем последовательно добавляют var context = controllerContext.RequestContext
, проблема с этим ни в одном из методов внутри RequestContext
не создается, так что, когда SagePayMvc прибывает в точку построения Notification Url, которая выполняется внутри интерфейса IUrlResolver
, возникает ошибка.
Есть ли способ издеваться над ControllerContext.RequestContext
, я ранее использовал RhinoMocks или было бы более разумным вернуться к тому, как я ранее реализовал SagePayMvc в проекте форм (проект форм - это приложение MVC 4, которое сериализует и отправляет данные формы в web api).
Любые советы были бы высоко оценены.
решил вернуть проект назад к предыдущей версии, которая включала транзакционную услугу в проекте форм, отлично работает, как и раньше, за совет Pablo – CryoFusion87