Предназначение для платформы.NET 3.5, Используя.NET 2.0 времени выполнения. Протесты?

Если вы посмотрите на сигнатуру метода getOrElse в признаке Option[A]:

final def getOrElse[B >: A](default: => B): B

, он развернет Option, чтобы вернуть A или его супертип до [ 116].

Теперь, с modelOpt и Option[Future[Result]], применение getOrElse с заданным значением по умолчанию типа Future[Result] (или его подтипа) приведет к Future[Result].

Аналогично тому, как работает getOrElse, но при сохранении Option на месте метод или Else имеет следующую подпись:

final def orElse[B >: A](alternative: => Option[B]): Option[B]

Таким образом, применяя orElse к modelOpt, как показано ниже вернет искомую Option[Future[Result]]:

modelOpt.orElse(Some(Future.successful(InternalServerError)))

Обратите внимание, что Future.successful используется для обеспечения уже завершенного Будущего с указанным результатом.

5
задан Marc Gravell 1 October 2008 в 12:48
поделиться

5 ответов

Это - сложный вопрос для ответа, потому что в конечном счете он зависит от того, что.NET 3,5 функции Вы используете. Если Вы будете пользоваться некоторыми новыми библиотеками, такими как LINQ, то да, необходимо будет установить эти 3,5 времени выполнения. Однако, если Вы просто используете часть нового синтетического сахара, представленного в 3,5, Вы не можете. Причина этого состоит в том, что.NET 3.5 на 100% совместима с 2,0 CLR.

2
ответ дан 15 December 2019 в 06:38
поделиться

Если это - клиентское приложение, которое не использует asp.net и т.д., Вы можете использовать установку.Net Client Profile, которая намного меньше (c. 26 МБ) - более подробная информация в:

http://blogs.msdn.com/bclteam/archive/2008/05/21/net-framework-client-profile-justin-van-patten.aspx

http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx

1
ответ дан 15 December 2019 в 06:38
поделиться

Если Вы ссылаетесь на 3.5 определенных libaries, такие как Система. Ядро или Система. Xml. Linq затем необходимо будет поставляться 3.5.

0
ответ дан 15 December 2019 в 06:38
поделиться

существует некоторый différence в сгенерированной части кода наборов данных между 3,5 SP1 и 3.5 (никакой SP), что-то о сериализации. можно испытать затруднения из-за этого при обновлении установки на 3.5SP1, даже в базовой функциональности.

0
ответ дан 15 December 2019 в 06:38
поделиться

.NET 3.5 не на литературные 100% совместима с.NET 2.0, но с.NET 2,0 SP1.

Но я не знаю, даст ли это Вам какие-либо проблемы..NET 2,0 обновления SP1, как говорят, сделаны сделать Дополнительные Методы и возможно Автоматические Свойства доступными (не помнят специфических особенностей).

У Scott Hanselman есть хорошее сообщение в блоге на этом.

Что касается размера.NET 3,5 развертываемых файла - то, что это-.NET 2.0, 3.0 и 3.5 для x86, x64 и другая 64-разрядная архитектура в одном большом файле.

0
ответ дан 15 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

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