我在MVC中成功实现了一个WCF服务(使用wsDualHttpBinding)。
" SendResult"从WCF正确调用函数并在" Events_For_Export_Result"中接收结果。阵列。现在我应该将MVC重定向到控制器/视图以显示消息,但我无法在回调函数中调用操作。
正如您在下面看到的,我试图让我的回调类继承自" Controller"并调用了一个执行" RedirectToAction"的函数,但它不起作用。
我做错了什么?有没有办法在void方法中调用一个动作?
public class GPWCFServiceCallBackController : Controller, IGPWCFServiceCallback
{
public void SendResult(GPWCFService.Events_For_Export_Result[] arrEvents, string resultMessage)
{
ShowResult(arrEvents, resultMessage);
}
public ActionResult ShowResult(GPWCFService.Events_For_Export_Result[] arrEvents, string resultMessage)
{
return RedirectToAction("Index", "Home");
}
}
我认为这与wsDualHttpBinding的性质有关。实际上,我无法更改函数的返回类型,因为我必须指定[OperationContract(IsOneWay = true)]属性。这样,回调函数必须是无效的。
这是回调界面:
/// <summary>
/// The Callback Interface
/// </summary>
public interface IGPWCFServiceCallback
{
[OperationContract(IsOneWay = true)]
void SendResult(Events_For_Export_Result[] arrEvents, string resultMessage);
}