Да, некоторые люди скажут: «Вы с ума сошли, используя элементы управления winforms внутри форм asp» ... и я думаю, что они правы. Но я бы сказал .. "Я не единственный !!, посмотрите"
http://www.eggheadcafe.com/tutorials/aspnet/b7cce396-e2b3-42d7-9571-cdc4eb38f3c1/build-a-selfcaching-asp.aspx
Итак ...
Делать что-то вроде предыдущей ссылки. Я сделал следующее:
с использованием Системы;
используя System.Threading;
используя System.Windows.Forms;
namespace XXXX.aspx.Print
{
публичный частичный класс Drucker: System.Web.UI.Page
{
private ManualResetEvent mre = new ManualResetEvent (false);
protected void Page_Load(object sender, EventArgs e)
{
Threading();
}
private void Threading()
{
Thread t = new Thread(new ThreadStart(GoAhead));
t.SetApartmentState(ApartmentState.STA);
t.Start();
mre.WaitOne();
t.Abort();
}
private void GoAhead()
{
DateTime time = DateTime.Now;
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate(Request.UrlReferrer.ToString());
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
while (true)
{
Thread.Sleep(0);
TimeSpan elapsedTime = DateTime.Now - time;
if (elapsedTime.Seconds >= 13)
{
mre.Set();
}
System.Windows.Forms.Application.DoEvents();
}
}
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser webBrowser = (WebBrowser)sender;
if (e.Url.AbsolutePath != webBrowser.Url.AbsolutePath) return;
webBrowser.Print();
}
}
}
Сейчас ...
Событие DocumentCompleted не запускается (ни ProgressChanged), и я попробовал следующее:
- Добавьте библиотеку MsHtml.dll в мой проект и поместите файл в мою папку lib ... Я сделал это ... Без изменений.
- Попробуйте обработать состояние WebBrowser.ReadyState ... Я сделал это ... Без изменений (На самом деле после получения WebBrowserReadyState.Complete я пытался напечатать документ с
webBrowser.Print (); но я получаю странное всплывающее окно IE, говорящее мне: "dialogArguments .__ IE_PrintType 'имеет значение Null или не является объектом" "... хорошо, так что некоторые исследования, которые я получил: тема о dcomcnfg в Microsoft и некоторые настройки безопасности com
Я сделал это ... Без изменений.
...
Кстати, я работаю в 64 битах, Win7 ...
Итак, прежде чем я отформатирую весь компьютер ...
Есть предложения?