Come aprire il file .exe sul sistema client in un’applicazione Web

Sto sviluppando un’applicazione web, Qui voglio aprire .exe sul sistema client dal server, cioè dopo aver ospitato il mio sito in IIS. È ansible aprire ad esempio notepad o windows media player sul client quando l’utente fa clic su un link sul mio sito web?

Non è ansible. E se sarà ansible, dovrebbe essere rimosso immediatamente. Il motivo è semplice: sicurezza , significa quasi tutto se lavori con il browser.

Se si desidera avviare alcuni eseguibili esterni, è sufficiente creare un client applicativo WPF o WinForms e parlare con il servizio WCF. In questo modo sarai libero di usare tutto ciò che desideri dal lato client.

È uno scenario comune in alcuni casi. mailto: url scheme è un esempio. Quando fai clic su tali collegamenti, si aprirà l’applicazione di posta elettronica predefinita. O come un altro esempio è ansible vedere tale funzionalità in applicazioni SharePoint che apre OneDrive for Business per la sincronizzazione di documenti o utilizzare altre applicazioni per ufficio. Anche skype: è un altro esempio.

Per avere tale funzionalità nell’applicazione è ansible utilizzare una di queste opzioni:

  1. È ansible registrare un’applicazione in uno schema URI personalizzato, quindi è ansible triggersre tale applicazione dall’URL specificato e passare i parametri nell’URL. Per maggiori informazioni dai un’occhiata a:

    • Registrazione di un’applicazione in uno schema URI .
  2. È ansible utilizzare una distribuzione ClickOnce specificando un URL di installazione. Quindi puoi semplicemente aprire l’applicazione usando quell’URL e passare i parametri all’applicazione usando la stringa di query.
    Per maggiori informazioni dai un’occhiata a:

    • Procedura: specificare la posizione da cui verranno installati gli utenti finali
    • Procedura: recuperare le informazioni sulle stringhe di query in un’applicazione ClickOnce in linea

avvertimento

Stai attento! È ansible introdurre problemi di sicurezza per l’applicazione e i client. Quando si passano dati, prestare attenzione alle vulnerabilità della sicurezza come Injection , Riferimenti agli oggetti diretti non sicuri , Esposizione a SensitiveData e così via .

Soprattutto se si desidera utilizzare tali protocolli per creare un middleware per aprire un programma che non è il proprio, si dovrebbe esporre solo un set minimo di funzionalità di quel programma e sospendere le operazioni alla conferma degli utenti. Ad esempio mailto: triggers il programma di posta con alcuni dati minimi ma non invia email. Gli utenti dovrebbero premere inviare se stessi.