我有一个问题,设计出最佳的方式从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