Ответственность за чистку временных файлов должна быть на приложении, которое создало их. Это очень легко. Я использую класс, который выглядит примерно так:
public class TempFile : IDisposable
{
public TempFile()
{ this.path = System.IO.Path.GetTempFileName(); }
public void Dispose()
{ File.Delete(path); }
private string path;
public string Path { get { return path; } }
}
, Если Вы обязаны очищать временные файлы другого приложения, требуются некоторые средства общения с Вашим. Как минимум это должно быть в состоянии обеспечить семафор. Однако сложность выполнения этого больше, чем сложность просто наличия исходного приложения заботится о своих собственных файлах.
Нет - Silverlight 3 не поддерживает печать изначально.
Обычно вы можете выполнить некоторые действия в браузере с помощью Javascript, но это не позволит вам напрямую отправить PDF-файл. вы описываете.
Можно написать отдельное приложение, которое живет на клиентской машине, а затем интегрироваться с ним ... Для внутреннего бизнес-приложения это может быть хорошим решением, но очевидным недостатком является то, что вы переходите вне мультиплатформенного пузыря Silverlight.
Вот статья, на которую стоит обратить внимание: http://jonas.follesoe.no/PrintingInSilverlight2UsingCSSAndASPNETAJAX4.aspx (комментарии тоже интересны, и некоторые из них говорят о работе с PDF-файлами)
Обновление: Silverlight 4 теперь поддерживает это.
Нет. Silverlight не имеет прямого доступа к каким-либо ресурсам принтера, только через функции печати javascript.