2009-11-25 24 views
5

Hai người, Trang web của tôi có hàng nghìn người dùng ... Tôi đã thực hiện tác vụ gửi thư cho mọi người mỗi ngày một lần ... Tôi đã theo liên kết này để thực hiện việc này. ..Sự kiện Application_Start() trong global.asax

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

câu hỏi của tôi là sẽ Application_Start() sẽ bị sa thải cho mỗi người dùng đánh trang web của tôi ... Nếu vậy mỗi người dùng sẽ nhận được một số mail hàng ngày vì vậy tôi muốn tránh nó ..

Trả lời

15

Phương thức Application_Start và Application_End là các phương thức đặc biệt không đại diện cho các sự kiện HttpApplication. ASP.NET gọi chúng một lần cho suốt vòng đời của miền ứng dụng, không phải cho mỗi cá thể HttpApplication.

Vì vậy, khi người dùng đầu tiên sẽ mở trang web, nó sẽ nhấn phương thức application_start sau đó nó sẽ không.

Tôi sẽ thêm rằng những gì bạn đang cố gắng làm là nguy hiểm. Nếu bạn muốn gửi email hàng loạt thì bạn có thể muốn nghĩ về Trình lập lịch biểu có thể gửi email hàng ngày.

+0

Hi ved i am trên chia sẻ lưu trữ họ sẽ không cho phép schedulers –

+0

Hi Tôi vừa thực hiện các nhiệm vụ backgroudn chạy trong trang web bằng cách chuyển đổi trang web như là "luôn luôn trên" trang web. Có một thiết lập trong hồ bơi ứng dụng để làm điều này. Bạn có thể muốn xem xét điều đó – Zeus

2

Application_Start chỉ chạy khi người đầu tiên truy cập trang web và khi app_pool cập nhật.

Điều này không xảy ra trên mỗi lần truy cập vào trang web.

bạn có thể muốn nghĩ về một cái gì đó như http://www.webcron.org/ cho một hệ thống giống như cron để lên lịch các tác vụ.

+0

Có lẽ OP đang nghĩ đến _BeginRequest? –

+0

Hi john, Tôi đang sử dụng máy chủ chia sẻ nên tôi không thể sử dụng lịch trình ... Có an toàn không khi sử dụng các cuộc gọi lại trong thư mục cache và gửi thư một lần trong aday cho người dùng của tôi –

+0

bởi vì các ứng dụng cần bộ nhớ hoặc một cái gì đó, nếu tôi là bạn tôi muốn thử có thể sử dụng http://www.webcron.org/ hoặc một trang web tương tự. –

0

Nó phải có trên Application_BeginRequest cộng với một DB lưu trữ trạng thái cho mọi khách truy cập. Nhưng thích hợp nhất là trên Trình lập lịch biểu.

+0

Hai jerjer cảm ơn bạn đã trả lời –

Các vấn đề liên quan