我有一個問題,設計出最佳的方式從ASP.NET應用程序調用WCF雙工服務我有以下情形:更新結果與雙工WCF服務調用的ASP.NET頁面
1)我有一個具有一些操作的雙工WCF服務
2)從ASP.NET Web應用程序(這是我的客戶端),我使默認頁面實現回調接口,然後調用雙工服務發送自身的方法作爲回調處理器
3)當回調返回時在default.aspx
頁面我不能在頁面上顯示的結果,因爲整個HttpContext
爲空,所以我不能訪問任何控制或應用程序[]或Session []變量
這裏是在Default.aspx的
代碼[CallbackBehavior(UseSynchronizationContext = false)]
public partial class _Default : System.Web.UI.Page, VehicleTrackingService.IDuplexServiceCallback
{
public _Default()
{
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(delegate
{
try
{
DuplexService client = new DuplexServiceClient(new InstanceContext(new_Default()));
switch (DropDownList1.SelectedItem.Value)
{
case "0":
{
client.Method1(int.Parse(txt_name.Text));
break;
}
case "1":
{
lbl_res.Text = "Not Provided yet.";
break;
}
default:
{
lbl_res.Text = "Not Provided yet.";
break;
}
}
}
catch(Exception ex)
{
}
}));
}
public void DuplexCallbackFunction(string response)
{
// Wanna to show result (the response) from here ...
}
任何幫助請嗎?
從客戶角度和架構上來說,這對於使用WCf Duplex服務來說是一個有點差的選擇。如果您必須連接到單獨的WCF服務才能檢索數據,並且服務調用和響應之間存在延遲,那麼最好將服務調用關閉到後臺任務,然後使用輕量級AJAX調用從客戶端輪詢以檢查爲返回的數據。您的客戶端將具有響應式用戶界面,並且您的服務器不會浪費資源。 – Lloyd 2012-03-28 18:59:27
你能給我舉個例子,因爲我無法得到它 – DigitalFox 2012-03-28 19:14:40