2015-12-24 61 views
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); 
} 

回答

0

控制器類的名字應該與字控制器

看這個question結束。

+0

謝謝宗介,是的,我忘了它。我改變了它,但它仍然不起作用。它什麼都不做。 – AC70