В настоящее время мы сохраняем ключ шифрования в защищенном разделе реестра для других наших приложений и добавляем этот ключ с помощью задачи запуска. Хотя я вижу, что в приложении lightwitch есть файл csdef, задача запуска никогда не срабатывает локально или на лазурном. Я даже попытался добавить вывод в файл cmd, чтобы я мог видеть, есть ли какая-либо ошибка, но файл даже не создан. У Lightswitch нет Win32.registry, поэтому добавление ключа через код, похоже, не может быть и речи.Возможно ли запустить задачу запуска в приложении Azure lightswitch?
Может ли кто-нибудь еще получить задание на запуск в лазурном хостинге, посвященном программе lightwitch? Насколько я понимаю, лазурная сторона вещей не должна отличаться от фонарика и проектов, содержащих роли web.worker. Они все еще работают на vm, поэтому задача запуска все равно должна иметь доступ к реестру. Если это невозможно, у кого-нибудь есть другие идеи о том, как добавить раздел реестра? Ввод ключа в код определенно не идеален. FYI как файл reg, так и файл cmd находятся в папке сервера и всегда устанавливаются в контент и копируются.
STARTUP.CMD:
regedit /s 456ddfrt.reg
exit /b 0
csdef:
<WebRole name="LightSwitchWebRole"
vmsize="Small"
enableNativeCodeExecution="true">
<Startup>
<Task commandLine="startup.cmd" executionContext="elevated" taskType="simple"/>
</Startup>
Решения
Я закончил с использованием изолированного хранилища в соответствии с предложением Янным. Ниже приведен пример кода.
//Get key from storage, add if not exists
try
{
String strKey = (string)appSettings["encrKey"];
strKey = DecryptString(strKey);
}
catch (Exception Ex)
{
appSettings.Add("encrKey",[mykey]);
String strKey = (string)appSettings["encrKey"];
strKey = DecryptString(strKey);
}
Он по-прежнему включает в себя положить ключ в коде, но ключ шифруется с использованием другого метода шифрования, и на Лазурном вероятность того, что они получат доступ к моему коду довольно низок. Спасибо за все предложения!
Я лично этого не пробовал, но если вы включите RDP в роли, поможет ли вам продолжить исследование? Подробности здесь: http://blogs.msdn.com/b/avkashchauhan/archive/2011/08/02/windows-azure-and-visual-studio-lightswitch-2011-part-3-3-adding-rdp-access -to-lightswitch-2011-application-which-is-all-deploy-to-windows-azure.aspx – RichardC
Я не думаю, что rdp много сделал бы в этой ситуации, так как даже не работал на моей локальной машине. Я использовал раньше для других вещей, и это было полезно. –
Когда вы проходите мастер публикации, вам предоставляется выбор «Тип обслуживания» как «Веб-сайт» или «Облачная служба»? Я предполагаю, что вы развертываетесь в облачной службе? – RichardC