0

我在silverlight应用程序的客户端在C#中有以下代码,将一些数据作为服务器发布到IHttpHandler

var newForm = doc.CreateElement("form");
newForm.SetAttribute("action", somUri);
newForm.SetAttribute("method", "post");

body.AppendChild(newForm);

newForm.AppendChild(CreateInputElement(doc, "data", someData));
newForm.AppendChild(CreateInputElement(doc, "filename", filename));
newForm.AppendChild(CreateInputElement(doc, "contentType", contentType));

var obj = newForm.Invoke("submit");

问题是我无法确定提交给服务器上的 IHttpHandler 的数据何时真正完成。

newForm.Invoke("提交"); 即使服务器尚未完成工作,上面似乎也进行了提交调用并且没有阻塞。

有没有办法注册回调,以便我知道服务器上的处理已经完成?

谢谢

4

1 回答 1

1

据我所知,silverlight 中的表单 POST 方法不能有回调之类的东西。

我有另一个选择给你。从 silverlight C# 代码调用 javascript 方法并在那里发出 ajax 请求。然后,您将拥有成功的回调处理程序以及错误回调使用它来纠正您的业务逻辑。

您可以参考此链接了解如何从 silverlight C# 代码调用 javascritpt 和从 javascript 调用 silverlight C# 方法。

请注意,System.Windows.Browser.HtmlPage.Window.Invoke它可能会成为安全问题。

我希望这会有所帮助。

于 2014-12-17T04:55:00.870 回答