我在 MVC 中成功实现了 WCF 服务(使用 wsDualHttpBinding)。
从 WCF 正确调用“SendResult”函数并在“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);
}