Richard Deeming
Поверьте мне, ваш код таков: НЕ "работает отлично".
Ваш код работает на сервере. Он откроет файл на сервере там , где его никто никогда не увидит.
Может быть появиться для работы при отладке кода в Visual Studio. Но это только потому, что в данном конкретном случае сервер и клиент-это один и тот же компьютер.
Как только вы развернете свой код на реальном сервере, ваши файлы перестанут открываться. Некоторое время спустя ваш сервер остановится, пытаясь открыть еще один PDF-файл, который никто никогда не сможет увидеть или закрыть.
То только способ открыть файл на клиенте-это записать его в ответ с соответствующими заголовками:
Response.ContentType = "application/pdf";
Response.TransmitFile(PATH_TO_YOUR_PDF_FILE);
Response.End();
Нет, прежде чем вы спросите, нет никакого способа контролировать то, что происходит с файлом, когда клиент получает его. И это включает в себя то, на каком мониторе открывается их программное обеспечение PDF.