Ошибка интегрированного веб-сервера Visual Studio без повышения прав - PullRequest
0 голосов
/ 26 апреля 2009

У меня есть проект asp.net в Visual Studio, работающий в Windows Vista с активированным UAC для обычного пользователя (без повышенных прав).

Когда я пытаюсь запустить свой проект asp.net на веб-сервере Visual Studio, процесс зависает и начинает использовать так много ЦП. Если я запускаю Visual Studio с повышенными правами, он работает отлично.

Вот что делает процесс. Кажется, что он пытается получить доступ к «Global.net clr network», но он не работает.

0: 000>! Clrstack Идентификатор потока ОС: 0xcec (0) ESP EIP
0021f09c 6dd09742 [NDirectMethodFrameGeneric: 0021f09c] Microsoft.Win32.NativeMethods.CreateFileMapping (IntPtr, SECURITY_ATTRIBUTES, Int32, Int32, Int32, System.String) 0021f0bc ​​56a02b0d System.Diagnostics.SharedPerformanceCounter + FileMapping.Initialize (System.String, Int32, Int32) 0021f11c 56a02a30 System.Diagnostics.SharedPerformanceCounter + FileMapping..ctor (System.String, Int32, Int32) 0021f12c 56a05af7 System.Diagnostics.SharedPerformanceCounter.GetCategoryData () 0021f17c 56a056b8 System.Diagnostics.SharedPerformanceCounter..ctor (System.String, System.String, System.String, System.Diagnostics.PerformanceCounterInstanceLifetime) 0021f19c 56a0456c System.Diagnostics.PerformanceCounter.Initialize () 0021f1d0 56a0437f System.Diagnostics.PerformanceCounter.set_RawValue (Int64) 0021f1ec 569ca4d3 System.Net.NetworkingPerfCounters.Initialize () 0021f230 569c980a System.Net.Configuration.SettingsSectionInternal..ctor (System.Net.Configuration.SettingsSection) 0021f270 569e3201 System.Net.Configuration.SettingsSectionInternal.get_Section () 0021f29c 569e2aad System.Net.Sockets.Socket.InitializeSockets () 0021f2ec 569e24e8 System.Net.Sockets.Socket..ctor (System.Net.Sockets.AddressFamily, System.Net.Sockets.SocketType, System.Net.Sockets.ProtocolType) 0021f310 00370758 Microsoft.VisualStudio.WebHost.Server.Start () 0021f33c 0037037b Microsoft.VisualStudio.WebServer.WebServerApp.Main (System.String []) 0021f594 6dce1b4c [GCFrame: 0021f594] 0: 000>! Finalizequeue SyncBlocks для очистки: 0 Интерфейсы MTA, которые будут выпущены: 0

Интерфейсы STA, которые будут выпущены: 0

поколение 0 имеет 104256 финализуемых объектов (045e06fc-> 046463fc) поколение 1 имеет 1 финализуемый объект (045e06f8-> 045e06fc) поколение 2 имеет 22 финализируемых объекта (045e06a0-> 045e06f8) Готов к завершению 0 объектов (046463fc-> 046463fc) Статистика: MT Count TotalSize Имя класса 573bd7cc 1 20 Microsoft.Win32.SafeHandles.SafeFileHandle 56a4a3f0 1 20 Microsoft.Win32.SafeHandles.SafeLocalMemHandle 57395c34 1 44 System.Threading.ReaderWriterLock 573b8e74 1 56 System.Threading.Thread 56a3e224 1 76 System.Net.Sockets.Socket 56a49d30 1 120 System.Diagnostics.PerformanceCounter 57395bdc 8 128 System.WeakReference 57397ba0 8 160 Microsoft.Win32.SafeHandles.SafeRegistryHandle 56a4a448 104257 2085140 Microsoft.Win32.SafeHandles. SafeFileMappingHandle Всего 104279 объектов

1 Ответ

0 голосов
/ 26 апреля 2009

Когда вы запускаете проект ASP.NET внутри VS, отладочный веб-сервер работает (как вы говорите) без повышения прав, что вызывает проблемы. Отладка - это привилегированная операция, которая должна подавлять UAC. Вся идея UAC заключается в том, что такого рода вещи не могут произойти без вашего явного вмешательства.

Так что запускайте VS с повышенными разрешениями. Поведение, которое вы видите, является умышленным.

...