Кто может победить?
'#'+Math.random().toString(16).substr(-6);
Гарантированная работа постоянно: http://jsbin.com/OjELIfo/2/edit
На основе комментария @eterps приведенный выше код может по-прежнему генерирует более короткие строки, если шестнадцатеричное представление случайного цвета очень короткое (0.730224609375
=> 0.baf
)
Этот код должен работать во всех случаях:
function makeRandomColor(){
var c = '';
while (c.length < 7) {
c += (Math.random()).toString(16).substr(-6).substr(-1)
}
return '#'+c;
}
Один из доступных методов - sc.exe. Он позволяет устанавливать службы и управлять ими из командной строки. Вот более старая статья , посвященная его использованию. Он также позволяет указывать зависимости.
Прочтите статью о разделе sc create , чтобы узнать, что вам нужно.
DataContractJSONSerializer сделает все за вас так же просто, как XMLSerializer. Это тривиально использовать в веб-приложении. Если вы используете WCF, вы можете указать его использование с помощью атрибута. Семейство DataContractSerializer также работает очень быстро.
забыл упомянуть, что вы можете использовать, например, Installutil.exe для вызова установщика.[RunInstaller(true)]
public class MyServiceInstaller : Installer
{
public MyServiceInstaller()
{
using ( ServiceProcessInstaller procInstaller=new ServiceProcessInstaller() ) {
procInstaller.Account = ServiceAccount.LocalSystem;
using ( ServiceInstaller installer=new ServiceInstaller() ) {
installer.StartType = ServiceStartMode.Automatic;
installer.ServiceName = "FooService";
installer.DisplayName = "serves a lot of foo.";
installer.ServicesDependedOn = new string [] { "CLIPBOOK" };
this.Installers.Add(procInstaller);
this.Installers.Add(installer);
}
}
}
}
Есть проект динамической установки для codeproject, который я нашел полезным для установки услуг в целом.
Visual Studio Setup/Deployment projects work for this. They are not the best installer engine, but they work fine for simple scenarios.