这将是一个通过ClickOnce部署的Windows Forms应用程序。我们的计划是使用WebBrowser控件来公开使用Active-X控件的web应用程序。使用window.external和InvokeScript,对象将被替换为对Reg-Free COM对象(SXS)的引用。我知道这听起来像是一团糟,但这是小事一桩,而且我的日程安排很紧。最终,SXS部分可以被替换,并且希望服务器端代码可以更新为更好的东西。这样会出现严重的性能问题吗?这会给我带来多少麻烦呢?
以Mono2.0为目标会让代码在.NET和.NET之间移植变得更容易吗?VB.NET代码移植到Mono很麻烦吗?我猜不应该是吧?(我正在与VB6程序员一起工作)。
文档称window.external在Mono下不可用。这听起来像是有实现这一点的计划。现在就使用window.external并等待Mono实现它安全吗?或者,有没有办法效仿这一点?
我还有其他的计划来慢慢地让代码更容易移植,我希望我可以把它作为一种方法(读作: loophole)来实现。
如果你有关于态度和心态的建议,我也很乐意听到。但请先回答我主要关心的问题。谢谢。
发布于 2009-07-05 22:00:34
我不知道你到底想做什么,但我看到了我可以回应的具体单词:
ClickOnce.
以Mono2.0为目标的
会让代码在.NET和.NET之间移植变得更容易吗?
我假设这与针对.NET 3.5,而不是针对.NET 1.1是相反的。WCF2.0类库比.NET 3.0/3.5的要完整得多(没有.NET,没有WF,有限的.NET)。然而,如果你只是想要像LINQ这样的C# 3功能,那么所有的C# 3都应该工作得很好。
的VB.NET代码移植到Mono很麻烦吗?
在Mono上,C#肯定比VB.Net支持得更好。VB.Net编译器当前的版本为8.0 (2005)。VB.Net运行时类库也不完整。(尽管您可以完全避免这种情况,但仍然可以使用VB.Net。)
发布于 2009-12-04 23:58:12
下面是在.NET WebBrowser控件中模拟windows.external的一个技巧:
在您放在for浏览器控件中的javascript代码中,封装对window.external的调用(例如):
函数wex() {window.external.WBEvent(参数,arguments1);返回false;}
更改导航功能,但使用您自己的协议:
函数wex() { location.href =‘wex://域//’+参数+ '//‘+ arguments1;return false;}
截取并取消Visual Basic代码中的导航:
Private Sub WebBrowser_Navigating(ByVal sender As Object, _
ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) _
Handles WebBrowser.Navigating
With e
If .Url.AbsoluteUri.StartsWith("wex://") Then
Dim str As String = HttpUtility.UrlDecode(.Url.AbsoluteUri)
Dim pos As Integer = InStr(14, str, "//")
WBEvent(Mid(str, 15, pos - 15), Mid(str, pos + 2))
'Debug.Print("wex " & Mid(str, 15, pos - 15) & " " & Mid(str, pos + 2))
e.Cancel = True
End If
End With
End Sub域名将转换为小写。这就是为什么它被忽略的原因。
如果您有多个函数,则将其作为uri的第一部分,并在导航事件代码中执行select语句。
https://stackoverflow.com/questions/1084850
复制相似问题