Преобразуйте свои даты в часовой пояс GMT, когда вы набиваете их в Mongo. Таким образом, никогда не возникает проблема с часовым поясом. Затем просто сделайте математику в поле twitter / timezone, когда вы вытащите данные для презентации.
GetManifestResourceStream предназначен для традиционных ресурсов .NET, то есть тех, на которые есть ссылки в файлах RESX. Это не то же самое, что ресурсы WPF, то есть те, которые добавляются с действием сборки ресурса. Для доступа к ним вы должны использовать Application.GetResourceStream , передав соответствующий pack: URI. Это возвращает объект StreamResourceInfo, у которого есть свойство Stream для доступа к данным ресурса.
Вероятно, вы ищете Application.GetResourceStream
StreamResourceInfo sri = Application.GetResourceStream(new Uri("Images/foo.png"));
if (sri != null)
{
using (Stream s = sri.Stream)
{
// Do something with the stream...
}
}
Если я правильно понял, у вас есть проблема с открытием потока ресурсов, потому что вы не знаете его точное имя? Если это так, вы можете использовать
System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames()
, чтобы получить список имен всех включенных ресурсов. Таким образом вы сможете найти имя ресурса, присвоенное вашему изображению.
Нет необходимости вызывать метод Close (), он будет автоматически вызываться Dispose () в конце предложения using. Итак, ваш код может выглядеть так:
using(BinaryReader reader = new BinaryReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ResourceBlenderExpress.Resources.images.flags.tr.png")))
using(BinaryWriter writer = new BinaryWriter(File.OpenWrite(imageFile)))
{
while((read = reader.Read(buffer, 0, buffer.Length)) > 0)
{
writer.Write(buffer, 0, read);
}
}