Существует ли платформа.NET, подобная Sinatra Ruby?

Обновление для разъяснения: проблема не с устаревшим, освобожденным или деинициализирует указатели; вместо этого, я реализую API, который берет указатели от вызывающей стороны (как указатель на строку, дескриптор файла, и т.д.). Вызывающая сторона может отправить (в цели или по ошибке) недопустимое значение как указатель. Как я предотвращаю катастрофический отказ?

Вы не можете осуществить ту проверку. Нет просто никакого способа, которым можно проверить, "допустим" ли указатель. Необходимо положить, что, когда люди используют функцию, которая берет указатель, те люди знают то, что они делают. Если они передают Вас 0x4211 как значение указателя, то необходимо положить, что он указывает для обращения к 0x4211. И если бы они "случайно" поражают объект, затем даже если бы Вы использовали бы некоторую страшную функцию операционной системы (IsValidPtr или безотносительно), Вы все еще проскользнули бы в ошибку и не перестали бы работать быстро.

Начинают использовать нулевых указателей для сигнальной такого рода вещи и говорят пользователю Вашей библиотеки, что они не должны использовать указатели, если они имеют тенденцию случайно передавать недопустимые указатели, серьезно :)

36
задан kenny 10 April 2019 в 17:49
поделиться

2 ответа

Кажется, что структура Мартина вдохновлена ​​ Синатрой, но это не порт. Однако он использует новый API маршрутизации, о котором вы упомянули.

4
ответ дан 27 November 2019 в 05:44
поделиться

You may also want to check out OpenRasta. It is a nice, clean REST framework. I don't know if it uses the MS routing libraries or not, but from what I can tell it's routing syntax is very similar, if not identical. Also, it looks like IronRuby is capable of running Sinatra and Rack now, and the IronRuby website has instructions for getting it up and running, so an alternative may not be required if you want to run Sinatra in a .NET environment.

10
ответ дан 27 November 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: