在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>