2011-10-03 12 views
11

Chúng tôi đã mở rộng một số phần của ứng dụng ASP.NET để chạy trên một máy chủ và các phần khác để chạy trên một máy chủ khác máy chủ (& dưới tên miền phụ).Chuyên gia ASP.NET - vấn đề nhỏ khi thiết lập tên miền ứng dụng để chia sẻ phiên SQL trong kịch bản quy mô

Phiên hai máy chủ chia sẻ (SQL Server). Chúng tôi đã sử dụng this MS article để tạo Mô-đun HTTP nhỏ để đồng bộ hóa tên miền ứng dụng giữa hai máy chủ (mã cookie miền, có thể được định cấu hình trong web.config. Sau này tôi tìm thấy this CodeProject article về cơ bản giống nhau.)

Mọi thứ đều hoạt động tốt, ngoại trừ một vấn đề nhỏ: thay đổi triển khai hoặc chỉnh sửa web.config yêu cầu tái chế hồ sơ ứng dụng thủ công (tự động tái chế không còn hoạt động - thay vào đó chúng tôi nhận được lỗi "máy chủ web hiện không khả dụng/lần làm mới") .

Tôi đã thử di chuyển mã đặt tên miền ứng dụng từ Mô-đun HTTP vào phần Application_Start của Global.asax (có thể đây là nơi tốt hơn cho nó?) - nhưng đã nhận được cùng một vấn đề.

Tôi biết rằng một giải pháp là mã hóa cứng tên ứng dụng trong một trong các thủ tục được lưu trong SQL Server Session; nhưng có một chút do dự để làm điều này.

Edit: Ứng dụng ASP.NET 3.5 dưới IIS 6.0 (nhờ @ Chris & @bzlm)

+0

Cảm ơn Chris - Tôi đã thêm thẻ IIS. –

+1

Ý nghĩa của @Chris là bạn nên bao gồm số phiên bản * của .NET (ví dụ: 2.0) và IIS (ví dụ: 6.0). – bzlm

+0

Loại lỗi này thường thêm mục nhập vào nhật ký sự kiện: nếu có, bạn có vui lòng đăng ở đây lỗi bạn nhận được không? –

Trả lời

0

Cập nhật. Chúng tôi đã mở một trường hợp hỗ trợ kỹ thuật với Microsoft về việc này. Sau một tuần hoặc hơn & ra, họ nói rằng họ đã sao chép vấn đề trong môi trường của họ và hiểu nguyên nhân (một vấn đề thời gian sâu bên trong nội bộ ASP.NET) - nhưng không có độ phân giải mà họ biết. Tôi phàn nàn rằng mô-đun HTTP là mã của Microsoft, nhưng họ nói rằng mã này nằm trong các điều khoản "XUẤT BẢN NHANH" - nhằm giúp & tư vấn cho khách hàng; chưa được bảo hành.

Ah tốt. Bây giờ chúng ta chỉ cần tái chế thủ công pool ứng dụng sau khi thực hiện thay đổi web.config.