问题标签 [jscript.net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 人们使用 JScript.Net 的目的是什么?
我很想知道谁使用 JScript.Net 以及用于什么样的应用程序。每当我阅读 MSDN .Net 文档时,我总是会注意到 JScript 示例,但多年来我一直是 C# 开发人员,但我从未真正知道有人使用它。
人们将它用于什么类型的应用程序,以及它如何衡量 C# 的灵活性、功能和一般用途?
[编辑:澄清一下——我不是在问 JScript.Net是什么,我是在问人们实际使用它的目的——即有兴趣了解实际使用场景以及人们如何发现它可以使用]
variables - JScript.NET 私有变量
我想知道 JScript.NET 私有变量。请看下面的代码:
输出:
如果我在任何浏览器中运行相同的脚本,输出是:
为什么会这样??
谢谢,保罗。
.net - 在 JScript.NET 中转换为委托类型失败
我正在尝试在 JScript.NET 中使用 BeginRead() 进行异步 IO,但我无法让回调函数正常工作。
这是代码:
例外是强制转换失败:
我尝试对 AsyncCallback 和基本 MulticastDelegate 和 Delegate 类型进行显式转换,但无济于事。
委托应该是自动创建的,避免了显式创建新的 AsyncCallback 的需要,例如:
事实上,如果您尝试显式创建委托,编译器会发出错误。我一定在这里遗漏了一些东西。
asp.net - 为什么从 JScript.NET 调用 JavaScriptSerializer 返回错误答案?
在 ASP.NET/C# 中:
返回fruits=["apple","banana","crunchberries"]
在 ASP.NET/VB.NET 中:
返回fruits=["apple","banana","crunchberries"]
但在 ASP.NET/JScript.NET 中:
返回fruits=["0","1","2"]
这似乎完全被打破了。可以通过显式声明水果的数据类型来修复它,这使其成为“本机数组”:
返回fruits=["apple","banana","crunchberries"]
我不明白为什么要获得正确的序列化类型是强制性的。(var fruits = ["apple","banana","crunchberries",5]
可能是糟糕的代码,但它在 Javascript 和 Jscript 中都是合法的。)假设 JScript 数组比本机数组慢,但它们仍然可以工作,对吧?
namespaces - 引用和使用 JScript.NET “仅限函数” exe 程序集
1. JSC 编译的程序集
我已经使用服务器端的 JScript 编译器 (jsc.exe) 编译了打算作为客户端 JavaScript 的东西,试图制作可以从单元测试项目中测试的东西,甚至可能是可以调试的东西在服务器端。
编译后的文件仅包含以下功能(仅作为示例),并且可以很好地编译为 BitField.exe。注意,源代码中没有包装类或包。
------ 开始文件 (BitField.js) --------
------- 结束文件 -------
生成 BitField.exe 程序集。
成功!嗯,有点....
2. 测试组件/接入点?
其次,我创建了一个测试项目(在 C# 中)并成功在 BitField.exe 程序集中引用。(项目的类型无关紧要,但我提供了更多描述来描绘完整的画面。)
问题似乎是:我找不到命名空间或可以从我的 C# 测试项目访问 BitField.exe 程序集中的 BitField 函数的点。大会似乎不是“正常的”。
换句话说,我需要 C#
注意:我不想使用 JScript“扩展”,即不会在客户端(在 Web 浏览器中)运行的关键字,例如,class
等,package
因为我希望代码尽可能干净以便复制和粘贴回到客户端脚本环境(不管说“干净”的代码由 jsc.exe 编译好,而不使用这些扩展)。当我尝试将函数包装进去package
并class
开始产生编译错误时,这是不使用它们的另一个原因——因为它们似乎让我改变了我的代码。
当没有明确的容器时,关于如何使用已编译的 JScript 程序集的功能(通过将其引用到另一个程序集)的任何建议?
更新/证明
.NET 反射器视图
.net - 使用 JScript 5.5 而不是 JScript.NET 编写应用程序
正如你们中的一些人可能知道的那样,JScript.NET 为常见的 JavaScript 语言添加了很多功能……它添加了一些class
语法、一些类型标识符等。
我使用 JavaScript 的主要原因是因为我喜欢它的动态性、嵌套函数调用、变量作用域等......所有这些功能在 .NET 版本中似乎都可以正常工作,但是编写这种代码会给我带来Type mismatch
错误:
好像我不能像那样传递匿名函数。如果我add_Click
在类的某个地方定义回调,它会很好用!
我怎样才能避免这种情况?我想以我一直习惯的方式用 JavaScript 编写代码……我能以某种方式强制jsc.exe
编译器使用旧版本的 JScript 吗?
或者也许 a 中的函数class
不是常规的 JS 函数?这是怎么回事?
.net - JScript.NET 设计 IDE
我目前正在将 JScript.NET 用于小型 UI 应用程序。问题是我的 Visual Studio Express 不支持 JScript.NET 来设计 UI。是否有免费的 IDE 可用于设计我的 UI 并生成有效的 JScript.NET 代码?
我只需要 IDE 设计功能来设计应用程序,仅此而已。
目前我正在做的是将它生成的非常相似的 C# 代码转换为 JScript.NET,但这有点令人讨厌。
elmah - Elmah 在访问 Context.Request.ServerVariables 时抛出异常
我正在使用 Elmah 为我的网站记录异常,一切似乎都运行良好,直到有一天我注意到 500 个服务器错误没有被正确捕获。我正在使用以下脚本专门忽略 ScriptResource.axd 文件中的错误。
触发第一个错误时,它似乎工作正常。但是,下次触发此错误时,Elmah 停止过滤并且无法发送电子邮件。我能够在本地重现此问题,这是问题的根源:
我不明白这是如何以及为什么会发生的。我还尝试了其他 ServerVariables,到目前为止,我发现HTTPS、HTTP_REFERER在第二次发生相同异常时不会触发此错误。而URL、SCRIPT_NAME、PATH_INFO、PATH_TRANSLATED将触发此错误。
想法?
c# - Active Directory 中联机的计算机列表
我正在使用这段代码来输出我网络上所有计算机的列表(语言是 jscript.net,但这只是对 C# 的一个小操作)。
我有两个问题:
1)它非常慢。显示大约 100 台计算机,加载大约需要 1 分钟。
2) 我只想获取当前在线的计算机列表。
这是可以做到的,因为我已经看到其他程序这样做了,而且它们的速度要快得多,而且它们只能在线显示那些程序。
我错过了什么吗?
.net - 通过资源加载应用程序图标
这是我所做的:
resource.resx
我使用我的 IDE (SharpDevelop)创建了一个文件并添加了一个文件logo.ico
。resource.resx 文件如下所示:
然后我把ResGen.exe
它编译resource.resx
成一个有效的resource.resources
文件。
使用命令行 JScript.NET 编译器,我编译了所有内容并包含了resource.resources
我的徽标文件。
现在我想从我的代码中访问这个标志文件,所以我得到了这个:
但是我得到一个运行时异常,GetManifestResourceStream
它是空的。
我想这是一个命名空间问题,所以我尝试只使用访问资源文件,GetManifestResourceStream("resource.resources")
但我得到了另一个异常:
Argument 'picture' must be a picture that can be used as a Icon.
任何想法将不胜感激,谢谢!