2011-10-10 36 views
6

Tôi có một số ứng dụng web sử dụng các gói bằng WebActivator. Trên máy cục bộ của tôi với IIS 7.5 Express, mọi thứ hoạt động tốt cho dù tôi thử nghiệm trong các cấu hình Release hay Debug. Tuy nhiên, trên máy sản xuất của tôi với IIS 7.5, WebActivator không thực sự chạy, vì vậy tất cả các mô-đun không tải được và tôi phải thêm mã trở lại vào tệp Global.asax.cs.Webactivator không chạy trên IIS 7

Tôi bối rối về vị trí bắt đầu tìm kiếm - Googled và tìm kiếm StackOverflow nhưng chưa gặp phải bất kỳ ai có vấn đề tương tự. Có điều gì rõ ràng cần phải được cấu hình để cho phép nó chạy không?

Chỉnh sửa - Đã thêm mẫu nhanh của trình kích hoạt ghi nhật ký vào Windows. Nội dung hàm, khi được thêm vào tệp Global.asax.cs chạy tốt trên máy chủ sản xuất nhưng không bao giờ ghi nhật ký từ trình kích hoạt.

using System.Web.Mvc; 
using System; 

[assembly: WebActivator.PreApplicationStartMethod(typeof(Admin.App_Start.WebActivatorTestStart), "Start")] 

namespace Admin.App_Start 
{ 
    public static class WebActivatorTestStart { 
     public static void Start() { 

      System.Diagnostics.EventLog log = new System.Diagnostics.EventLog(); 
      log.Source = ".NET Runtime"; 
      log.WriteEntry("WebActivator Start", System.Diagnostics.EventLogEntryType.Information); 

     } 
    } 
} 
+0

Bạn đã cài đặt ASP.NET 4 trên máy sản xuất chưa? – counsellorben

+0

Yup, cùng một phiên bản của mọi thứ giữa hộp dev và hộp sản xuất, ngoại trừ IIS 7.5/IIS Express 7.5. Nhóm ứng dụng được đặt thành .Net 4, đường ống tích hợp. – Leniency

+0

Bạn có chắc đó là WebActivator không chạy? Có lẽ đó là bất cứ điều gì bạn đang làm để tải các mô-đun của bạn không thành công? Bạn có thể thử thiết bị WebActivator để ghi vào nhật ký để bạn có thể xác minh rằng đó là WebActivator không thành công? –

Trả lời

0

Vâng, tôi không thể chắc chắn những gì tôi đã làm để sửa chữa mọi thứ, nhưng hiện tại nó đang hoạt động.

Một chút lịch sử - Tôi quản lý một số ứng dụng lớn khác nhau, tất cả đều sử dụng một số thư viện phổ biến. Tôi có thư viện web phổ biến và đó là nơi tôi đã sử dụng để thiết lập IOC với Ninject và WebActivator. Thư viện cơ sở này có thư mục App_Start trong đó. Có lẽ đây là lý do? Dunno. Không bao giờ có WebActivator để làm việc với thiết lập này vì vậy tôi chỉ sử dụng NinjectHttpApplication để xử lý các công cụ đăng ký và khởi động. Tuy nhiên, thư viện cơ sở vẫn có một sự phụ thuộc vào WebActivator (không có thư mục App_Start).

Vì vậy, bây giờ tôi đang làm việc để tái cấu trúc một số ứng dụng và thư viện cơ sở - dọn sạch một loạt các mùi mã trong vài tháng qua. Một bước là di chuyển tất cả IoC lên ứng dụng web thực tế - làm cho các thư viện cơ sở ít nguyên khối. Thư viện cơ sở không còn phụ thuộc vào WebActivator nữa.

Và giờ nó hoạt động. Ngoài ra còn có nửa trăm thay đổi nhỏ khác mà tôi đã thực hiện cho thư viện cơ sở, vì vậy tôi xin lỗi những người khác vì không có hệ thống hơn về nó.

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