【问题标题】:Use Telerik converter service through WebBrowser?通过 WebBrowser 使用 Telerik 转换器服务?
【发布时间】:2014-11-07 13:09:03
【问题描述】:

我正在尝试使用 WinForms 应用程序中的 WebBrowser 控件访问网页 http://converter.telerik.com/,但该页面包含脚本错误。

ScriptErrorsSuppressedTrue 之后,网页的主要控件此时无法加载,我对使用 WebBrowser 控件完成此任务感到迷茫,因此我搜索了其他替代方法.

我已经尝试使用最新版本的GeckoFX (29.0.X) 从这里:https://bitbucket.org/geckofx/

使用GeckoWebBrowser 控件,Telerik 页面可以完美加载,但是在按下我的GeckoWebBrowser 中的“Convert”按钮后,第二个“文本框”变得疯狂并且无法正确显示,所以我再次迷路了,但我不知道我还有什么选择。

过去我曾尝试为 .Net 使用一些 chrome 版本,但无法编译它们。

我需要做什么才能通过我的应用程序中的任何类型的网络浏览器使用 Telerik 转换器服务?

PS:依赖关系对我来说不是问题,我只想开发一个个人应用程序,仅用于加载/保存我使用 Telerik 服务转换的 sn-ps,从我的应用程序访问其转换器网页。

【问题讨论】:

    标签: c# .net vb.net winforms telerik


    【解决方案1】:

    我个人会看一下 SharpDevelop 的 NRefactory 库,看看我是否可以在我的应用程序中使用它,而不是使用其他人的 web 服务,因为它很可能使用 NRefactory 作为它的底层引擎。

    代码转换器的在线版本可在http://codeconverter.sharpdevelop.net/获取。

    https://github.com/icsharpcode/SharpDevelop/wiki/Code-Converter https://github.com/icsharpcode/SharpDevelop/wiki/NRefactory

    关于 NRefactory:

    • ICSharpCode.NRefactory 作为 SharpDevelop IDE 的一部分免费提供。
    • 它是 C# 和 VB 的解析器库。
    • 它由一个抽象语法树 (AST) 组成,可以表示 C# 或 VB 中可用的所有构造(与 System.CodeDom 不同,它只表示 C# 和 VB 通用的构造)。
    • 通过使用 C# 解析器和 VB 输出访问器(反之亦然),您可以进行代码转换器。
    • 解析为 AST 后,您可以分析和/或转换 AST,并从(修改后的)AST 重新创建源代码,然后将我们从解析器保存的 cmets 重新插入到输出中
    • 有关 NRefactory 的更多信息,请参阅:sharpdevelop.net 和 NRefactory wiki。
    • 您可以尝试 SharpDevelop 源代码中的 samples\NRefactoryDe​​mo 来看看 AST 是如何解析源代码的。

    来源:http://www.codeproject.com/Articles/262950/CodeConverter

    【讨论】:

    • 我有许多离线免费和付费的 .Net 转换器,但我的经验表明 Telerik 提供了最好的转换器服务,并且翻译的成功率最高且没有错误,但不幸的是,该服务是在线提供的,所以我需要在线使用它。我不是在寻找软件/服务替代品,我的问题很明确。感谢您的帮助,+1,对不起我的英语。
    • 忘记我的最后评论,我没有注意到 Telerik 的转换器使用 NRefactory!我试图用其他转换器总是失败的“关键”语法翻译一些代码,Telerik 和 Sharpdevelop 在线转换器翻译的代码完全相等,它真的很好,我正在阅读你的链接网址,以了解是否或如何实现这一点我的应用,非常感谢
    • 是的,可以在这里看到 Telerik 使用来自 SharpDevelop 的 NRefactory:converter.telerik.com/about.aspx。您应该能够添加对库的引用并在您自己的应用程序中使用它:)
    • 谢谢,我只想从你的最后一个链接(来源)中指出一些东西,我有所有提到的使用 NRefactory 的付费/免费转换器,例如 Tangible vb.netC#、convert.NET、 NetVert 等,只有 Telerik 在线服务可以正确转换一些 sn-ps。如果所有这些产品都使用 NRefactory dll 中包含的相同技术,那么为什么其中一些产品会因特定代码而失败?无论如何,我会在自己的应用程序中为自己尝试这种转换的期望。
    • 为了完成我的 cmets,我想说我还解决了通过 Web 浏览器使用 Telerik 服务的方式,我需要使用 EO WebBrowser,它是一个非常棒的带有完整 js 的 .Net 付费控件支持,我在加载 Telerik 网页时没有任何问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多