2013-06-25 91 views
26

Tôi đang cố gắng đọc một số bộ đếm hiệu suất từ ​​ứng dụng ASP.NET của mình. Khi tôi làm, tôi nhận được lỗi "Truy cập vào khóa đăng ký 'Toàn cầu' bị từ chối.""Truy cập vào khóa đăng ký 'Toàn cầu' bị từ chối" khi truy cập các quầy hiệu suất

Tôi đã thử làm theo các hướng dẫn herehere, sử dụng người dùng IIS AppPool\DefaultAppPool, đó là bản sắc bơi ứng dụng của tôi được cấu hình để sử dụng:

Screenshot of App Pool configuration

Tôi đã nói thêm rằng người dùng đến người sử dụng Performance Monitor nhóm:

enter image description here

Và sau khi thêm người dùng, tôi khởi động lại máy tính của tôi. Nhưng tôi vẫn nhận được lỗi.

Tôi cũng đã thử thêm người dùng IUSR và MẠNG DỊCH VỤ vào nhóm Người dùng theo dõi hiệu suất, nhưng những người đó không hoạt động. Trong tuyệt vọng, tôi đã thử thêm người dùng "Mọi người" vào nhóm Người dùng theo dõi hiệu suất và thực sự không hoạt động. Nhưng mục tiêu của tôi là ghi lại số liệu thống kê từ ứng dụng của tôi trong sản xuất và tôi không muốn thêm "Mọi người" vào nhóm đó trên máy chủ sản xuất.

Điều gì khác cần phải xảy ra để đọc các bộ đếm hiệu suất mà không tạo ngoại lệ bảo mật?

+0

Bạn đã thử cấp quyền cho nhóm IIS_IUSRS của máy chưa? Đó thường là những gì IIS đang chạy khi bạn đang sử dụng ApplicationPoolIdentity. – Josh

Trả lời

42

Tôi đã tìm ra giải pháp. Trong khi các liên kết khác nhau trên Internet cho bạn biết sử dụng danh tính IIS APPPOOL\DefaultAppPool, đó KHÔNG phải là toàn bộ câu chuyện. Điều đó sẽ chỉ chỉ hoạt động nếu bạn đang thực tế gán ứng dụng của mình cho một nhóm ứng dụng có tên "DefaultAppPool".

This link at ServerFault có câu trả lời. Bạn phải sử dụng tên của nhóm ứng dụng của mình. Trong trường hợp của tôi, tên của nhóm ứng dụng là "dàn dựng", vì vậy người dùng chính xác là IIS APPPOOL\staging. Đưa người dùng này vào nhóm Người dùng Màn hình Hiệu suất đã khắc phục sự cố của tôi.

+8

Hai điều cần thêm mà tôi đã nhận thấy: * không làm gì hoặc tái chế hồ bơi ứng dụng là không đủ để nhận các quyền mới, nhưng khởi động lại máy cũng không cần thiết. iisreset thực hiện công việc. (Windows 2012 Server trong trường hợp của tôi). * nếu bạn chạy hồ bơi ứng dụng của mình dưới dạng danh tính khác, việc thêm danh tính đó vào nhóm Người dùng Màn hình Hiệu suất là tất cả những gì cần thiết; tức là bạn không cần phải thêm người dùng IIS APPPOOL đặc biệt nữa. – sellotape

+1

@sellotape được đề cập là trường hợp tương tự cho Windows 2008 R2 – wonster

+0

FYI Im sử dụng dịch vụ này trong cửa sổ .... và khởi động lại dịch vụ sau khi thêm người dùng vào nhóm "Người dùng Màn hình Hiệu suất" đã hoạt động! – Seabizkit