gpt4 book ai didi

c# - java脚本到C#的回调,c#和java脚本之间的异步编程

转载 作者:行者123 更新时间:2023-11-28 08:45:18 25 4
gpt4 key购买 nike

我有一个基于 silver-light 的 Web 应用程序。我使用 ScriptObject 来连接和调用 java 脚本中的方法,然后 java 脚本与插件交互。从c#到java脚本的所有函数调用都是同步的。现在我正在尝试使用Web套接字服务器来替换插件。

现在我只是更改 java 脚本文件中方法的代码以与 Web 套接字服务器交互。由于 Web Socket 调用本质上是异步的,因此我无法实现从 C# 到 Java 脚本的调用并返回值。

现在我想从 java 脚本调用回调到 c# 代码。这可能吗?

请建议如何解决此问题。

最佳答案

这是可能的。

您可以这样注释一个类:

public class MyScriptableManagedType {
[ScriptableMember()]
public string MyToUpper(string str) {
return str.ToUpper();
}

[ScriptableMember()]
public string Name { get; set; }
}

将其放入页面的 javascript 对象范围内:

MyScriptableManagedType smt = new MyScriptableManagedType();

HtmlPage.RegisterScriptableObject("mySLapp", smt);

然后你可以像这样从 javascript 使用它:

var slCtl = null;
function pluginLoaded(sender,args){
slCtl = sender.getHost();
alert(slCtl.Content.mySLapp.MyToUpper("Test String"));
}

函数pluginLoaded必须注册到silverlight插件才能在加载时调用。

取自以下内容并了解更多详细信息:

http://msdn.microsoft.com/en-us/library/cc221414(v=vs.95).aspx

关于c# - java脚本到C#的回调,c#和java脚本之间的异步编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com