javascript – 如何在网页中访问基本的JSIL库(来自C#)?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何在网页中访问基本的JSIL库(来自C#)?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1763字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何在网页中访问基本的JSIL库(来自C#)?](/upload/InfoBanner/zyjiaocheng/820/b53be244f1a348a099dc3053ccceaa17.jpg)
我正在努力开始使用JSIL.据我所知,我已按照指示进行操作.我有一个非常基本的C#虚拟项目,代码如下:
namespace TestLib
{
public class MagicType
{
public int Multiply(int x, int y)
{ // test instance method
return x * y;
}
public static int Add(int x, int y)
{// test static int method
return x + y;
}
}
}
我用jsilc编译了这个,并创建了一个托管jsil脚本的网站.我的html初始化了这个:
<script type="text/javascript">
var jsilConfig = {
libraryRoot: '/js/jsil/',
scriptRoot: '/js/testlib/',
manifestRoot: '/js/testlib/',
manifests: ['TestLib.dll'] // gets as far as Loading '/js/testlib/TestLib.dll.manifest.js'...
// which is 200 / OK
};
var asm = null;
var runMain = function () { // doesn't get invoked
console.log('> main');
asm = JSIL.GetAssembly("TestLib", true); // (executed outside method) returns a stub with no content
console.log('< main');
};
</script>
<script src="/js/jsil/jsil.js"></script>
但是……我无法访问该库.控制台输出表明它正在加载:
Loading '/js/testlib/TestLib.dll.manifest.js'...
这是200 OK.但是,我无法访问它.如果我跑:
var asm = JSIL.GetAssembly("TestLib", true);
然后我回到了库的存根,但它没有任何东西.有一个asm.$typesByName,但这是一个空对象.我想做的(看它工作)是调用Multiply和Add方法.
那么:我错过了什么?我的意图是托管一个我可以通过js访问的转换库,这是我理解的:可能.我无法让它发挥作用.我在这里上传了我的整个测试项目:https://github.com/mgravell/jsilfun
解决方法:
缺少的部分是JSIL的浏览器层分两个阶段执行加载:有成功加载并已加载清单的引导程序,然后是浏览器脚手架,它设置DOM接口并实际执行你自己的程序集加载.这发生在两个阶段,因为很多事情是异步的,您可能有理由在实际运行所有代码之前自己加载其他程序集或执行其他工作.
浏览器脚手架公开了一个名为onLoad的函数(是的,抱歉),您可以调用它来执行第二阶段.这些示例都使用< body onl oad =“onLoad()”>执行此操作.或类似的东西,但你可以任何你想要的方式调用它.
内容总结
以上是互联网集市为您收集整理的javascript – 如何在网页中访问基本的JSIL库(来自C#)?全部内容,希望文章能够帮你解决javascript – 如何在网页中访问基本的JSIL库(来自C#)?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。