posts - 315, comments - 268, trackbacks - 15

My Links

News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro

Tag Cloud

Article Categories

Archives

Post Categories

Blogs amici

Links

WCF, netsh e “prenotazione” URL

Post promemoria. Se abbiamo la necessità di eseguire l’hosting di un servizio WCF su Windows Vista, Windows Server 2008R2 o Windows 7 tramite ad esempio un’applicazione console (Windows Form o WPF Sorriso) è necessario eseguire una “prenotazione” dello spazio dei nomi URL per lo specifico account DOMAIN\User. Per eseguire questo scopo in modo programmatico (e non avere la necessità di creare un file d’installazione) allora possiamo scrivere del codice tipo:

string batContent = string.Format(@"netsh http add urlacl url=http://+:{0}/ user={1}\{2}",
uriToRegister.Port, Environment.MachineName, Environment.UserName);

string batPath = "NetBat.bat";
System.IO.File.WriteAllText(batPath, batContent);

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
startInfo.FileName = "cmd.exe";
startInfo.Arguments = string.Format("/c {0}{1}{0}", (char)34, batPath);

Process p = System.Diagnostics.Process.Start(startInfo);
p.WaitForExit();

per la registrazione dello spazio dei nomi URL nell’urlacl dello specifico account DOMAIN\User. Possiamo utilizzare del codice tipo:

string batContent = string.Format(@"netsh http delete urlacl url=http://+:{0}/ user={1}\{2}",
uriToUniregister.Port, Environment.MachineName, Environment.UserName);

per la rimozione. Il codice crea un file con estensione “.bat” eseguito tramite linea di comando. Ovviamente l’esecuzione del codice richiede l’elevazione dei privilegi dell’utente (se necessario). Il codice può essere utilizzato anche in caso di applicazioni ClickOnce.

Print | posted on martedì 23 agosto 2011 01:08 | Filed Under [ Varie ed eventuali C# Windows 7 .Net Framework 4.0 WCF ]

Feedback

Gravatar

# re: WCF, netsh e “prenotazione” URL

Ottima idea, in effetti è abbastanza scomodo ricordarsi ogni volta la procedura. Oltretutto, quando si tratta di spiegare ad altri dove stia il problema si rende il tutto ancora più nebuloso.
23/08/2011 03:28 | Anonimo
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET