我尝试将SagePayMvc.dll
集成到ASP.NET Web API项目中,该项目需要传递ControllerContext.RequestContext
以形成通知URL。在web api控制器中使用ControllerContext.RequestContext
目前我遇到在实现这一目标有些困难,我需要从这个网页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;
}
}
我试图在SagePayHelper实例下面添加一个公共ControllerContext controllerContext = new ControllerContext()
并随后加入var context = controllerContext.RequestContext
,这个RequestContext
里面没有任何方法的问题被实例化,所以当SagePayMvc到达构建Notification Url的地步,在IUrlResolver
接口内完成时,会抛出一个错误。
有没有办法模拟ControllerContext.RequestContext
,我以前使用过RhinoMocks,还是会更谨慎一些,以回复我之前在窗体项目中实现SagePayMvc的方式(窗体项目是一个MVC 4应用程序,将表单数据发送到web api)。
任何意见将不胜感激。
决定恢复项目回到以前的版本,其中包括在形式项目中的交易服务,工作正常以前感谢您的建议巴勃罗 – CryoFusion87 2013-05-01 12:38:28