在ASP.net网站上运行另一个本地应用程序

问题描述:

如何通过ASP.net网站运行另一个本地应用程序(使用c#开发的应用程序)并将参数发送到本地应用程序(例如名称,源文件)?

How can I run another Local Application (developed application using c#) through ASP.net website and will send parameters to the Local Application(such as Name,source file)?

(我知道这样做会带来安全风险,但我会考虑建议).

(I understand that there will be security risk for this but I will consider suggestions) Thanks in advance,

您可以像Skype一样处理自己的URL协议:

You can handle your own URL-protocol like Skype does:

phone://123546
localapp://data

然后创建一个链接

<a href="localapp://data">Open App</a>

或尝试在服务器端重定向

or try to redirect on the serverside

Response.Redirect("localapp://data");

并处理

示例:

本地应用程序(c:\ localapp.exe):

Local Application (c:\localapp.exe):

using System;
class LocalApplication
{
  [STAThread]
  static void Main(string[] args)
  {
    Console.WriteLine(args[0]);
    Console.ReadLine();
  }
}

注册表:

HKEY_CLASSES_ROOT 
     localapp
          (Default) = "URL:Local App"
          URL Protocol = ""
          shell
               open
                    command
                         (Default) = "c:\localapp.exe" "%1"

HTML:

<a href="localapp://Hello">Start LocalApp</a>