0
我在MVC中成功實現了WCF服務(使用wsDualHttpBinding)。在MVC中實現WCF回調
從「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);
}
謝謝宗介,是的,我忘了它。我改變了它,但它仍然不起作用。它什麼都不做。 – AC70