【问题标题】:How to integrate website with client-side application?如何将网站与客户端应用程序集成?
【发布时间】:2011-09-28 09:10:08
【问题描述】:

我想使用 ASP.NET 开发一个 webapp,但它必须使用由我开发的桌面应用程序提供的一些客户端功能。

现有示例:在 Picasa 网络相册中,您可以单击名为“下载到 Picasa”的链接,该链接会打开 Picasa 桌面应用程序并下载相册。

我想它需要在不同平台上使用不同的方法。有哪些可能让它在 Windows 和 Mac OS X 上运行?

【问题讨论】:

  • 请更详细地描述一个用例...当您单击嵌入式 Web 浏览器控件内呈现的网页中的按钮时,您是否希望在 Windows 窗体主机应用程序中发生某些事情?您是否可以完全控制应用程序 Web 和 Windows 中的所有代码?
  • 是的,这两个应用程序都将由我开发。假设它是嵌入在 WebBrowser 控件中的 ASP.NET 页面。用户单击某个按钮,应用程序以某种方式捕获此事件,然后调用某些“桌面”方法(如与设备通信)并将结果返回到网页。
  • 您想与哪些设备通信?
  • 这个桌面应用程序做什么并不重要。与设备通信只是一个例子。桌面应用程序应该做许多不同的事情,我确信这些事情是 webapp 做不到的。

标签: asp.net .net integration client-side


【解决方案1】:

注册一个自定义 URL 协议处理程序。看这里:https://stackoverflow.com/a/2429803/449906

【讨论】:

  • 感谢 Kuba :) 看来这正是我所需要的。我也在考虑桌面应用程序的一些反馈,但我想直接与 ASP.NET 服务器通信会更容易。
【解决方案2】:

我不详细了解 Picasa,但您的情况听起来像是通过单击“下载到 picasa”链接开始下载。此下载将启动如下链接:

picasa:///downloadfeed/?uname=ASDFASDFASDF .....

根据您的操作系统,任何协议都可能与不同的外部程序关联。有关这方面的信息,您可以查看mozilla board

REGEDIT4

[HKEY_CLASSES_ROOT\foo]
@="URL:foo Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\foo\shell]

[HKEY_CLASSES_ROOT\foo\shell\open]

[HKEY_CLASSES_ROOT\foo\shell\open\command]
@="\"C:\\Program Files\\Application\\program.exe\" \"%1\"" 

如果您启动这样的链接,您的外部程序将启动并执行您想要的任何操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2010-11-21
    • 1970-01-01
    • 2010-10-05
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多