Đây là một chủ đề thực sự cũ, nhưng tôi tình cờ tìm kiếm câu trả lời cho cùng một câu hỏi.
Tôi tìm thấy câu trả lời nào khác đâu, và sẽ để nó vào đây để internets khác ở vị trí của tôi:
Trong Global.asax bạn có thể chỉ định cho mỗi yêu cầu, những gì truy cập theo yêu cầu nên phải đối tượng session, và do đó nếu nó nên chặn hay không. dịch vụ asmx
private void Application_BeginRequest(object sender, EventArgs e)
{
// This will set the session to read only for asmx services
// This will make the asmx services non blocking for other requests as it doesnt lock the session object
if (Context.Request.Path.Contains(".asmx/"))
{
Context.SetSessionStateBehavior(SessionStateBehavior.ReadOnly);
}
}
Bằng cách này luôn luôn chỉ có chỉ đọc truy cập vào phiên giao dịch và sẽ không chặn các yêu cầu khác
Nguồn
2017-06-29 09:39:18
Vấn đề là phương pháp cho phép cả đọc và viết truy cập ... Tôi đang tìm kiếm một cách chỉ cần bật quyền truy cập đọc (bật quyền truy cập ghi sẽ chặn khi bạn có nhiều yêu cầu đồng thời). Tuy nhiên, tôi không tin rằng có một cách. – Jonas
Ah ha, bây giờ tôi thấy ... Bây giờ tôi đã thực hiện tìm kiếm nhiều hơn một chút, không có nghĩa là bạn có thể đặt Trang để có quyền truy cập chỉ đọc, nhưng không phải là một Dịch vụ Web. Điều gì xảy ra nếu bạn đặt WebMethods trong trang aspx (được hiển thị dưới dạng WebMethods) và đặt thuộc tính EnableSessionState của trang thành ReadOnly? Nó không phải là giải pháp tốt nhất, nhưng nó có thể làm việc. – PhillFox