Меня попросили создать кнопку для запуска настольного Java-приложения, которое будет загружено на клиентский компьютер, в противном случае будет возвращено некоторое сообщение. Владелец проекта хочет запустить приложение на Chrome, мы используем C # в проекте MVC. Наши сетевые администраторы не позволят нам ставить Java на любой из серверов, поэтому мы должны попытаться вручную открыть приложение.
Я пытался использовать href с файловым протоколом, таким как: file: // C: // etc, file: // c: \, file: /// c: // etc. Я также попытался использовать system.diagnostics и запустить процесс таким образом. Мне удалось заставить их работать при локальном запуске веб-сайта, но после его развертывания на сервере он больше не может правильно обращаться к папкам клиента.
<li onclick="onOpen()">Test</li>
<a href="file://C:\\Users\\Public\\Desktop\\Test.lnk">link</a>
function onOpen() {
$.ajax({
url: '@Url.Action("Test","Home")',
data: { },
success: function(data){ alert('Success!')},
error:function (xhr, ajaxOptions, thrownError) { alert
(xhr.responseText); }
});
}
public System.Web.Mvc.ActionResult Test()
{
Process process = new Process();
process.StartInfo.FileName =
"C:\\Users\\Public\\Desktop\\Test.lnk";
//process.StartInfo.CreateNoWindow = true;
process.Start();
return null;
}
Основная цель - открыть приложение с веб-страницы, мы уже добавили в приложение кнопку для ссылки на веб-страницу. Идея состоит в том, чтобы сделать это простым для пользователей, когда они не чувствуют, что покидают сайт.