В настоящее время мы используем Sinatra для производственного проекта (еще не развернут вживую, еще в разработке).
По сути, это обертка базы данных, используемой унаследованным приложением, и предоставление веб-служб REST другим приложениям внутри, чтобы они могли взаимодействовать с унаследованным приложением без прямого доступа к БД.
Rails был рассмотрен, но не использовался, потому что:
Учитывая эти требования, Rails пригоден для использования, но излишне, когда Синатра замечательно попадает в точку.
Насколько я знаю, нет надежного способа принудительно применить данное расширение файла. В любом случае рекомендуется проверить правильное расширение после закрытия диалогового окна и сообщить пользователю, что он выбрал недопустимый файл, если расширение не совпадает.
Вы можете обработать событие FileOk
и отменить его, если это неправильное расширение
private saveFileDialog_FileOk(object sender, CancelEventArgs e)
{
if (!saveFileDialog.FileName.EndsWith(".foo"))
{
MessageBox.Show("Please select a filename with the '.foo' extension");
e.Cancel = true;
}
}
Ближе всего к этому я подошел с помощью события FileOk. Например:
dialog.FileOk += openFileDialog1_FileOk;
private void openFileDialog1_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
if(!dialog.FileName.EndsWith(".foo"))
{
e.Cancel = true;
}
}
Оформить заказ Событие FileOK в MSDN.