Ответ 1
В App_Start\WebApiConfig.cs
удалите config.EnableSystemDiagnosticsTracing();
Прост как это: facepalm:
Окно вывода моего VS 2013 заполнено следующим образом:
iisexpress.exe Information: 0 : Request, Method=GET, Url=http://localhost:51741/api/Clients/?$filter=UniqueName eq '6269', Message='http://localhost:51741/api/Clients/?$filter=UniqueName eq '6269''
iisexpress.exe Information: 0 : Message='Clients', Operation=DefaultHttpControllerSelector.SelectController
iisexpress.exe Information: 0 : Message='MyProj.Controllers.ClientsController', Operation=DefaultHttpControllerActivator.Create
iisexpress.exe Information: 0 : Message='MyProj.Controllers.ClientsController', Operation=HttpControllerDescriptor.CreateController
iisexpress.exe Information: 0 : Message='Selected action 'GetClients()'', Operation=ApiControllerActionSelector.SelectAction
iisexpress.exe Information: 0 : Operation=HttpActionBinding.ExecuteBindingAsync
iisexpress.exe Information: 0 : Operation=QueryableAttribute.ActionExecuting
iisexpress.exe Information: 0 : Message='Action returned 'System.Collections.Generic.List`1[MyProj.Models.ClientDto]'', Operation=ReflectedHttpActionDescriptor.ExecuteAsync
iisexpress.exe Information: 0 : Message='Will use same 'JsonMediaTypeFormatter' formatter', Operation=JsonMediaTypeFormatter.GetPerRequestFormatterInstance
iisexpress.exe Information: 0 : Message='Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'', Operation=DefaultContentNegotiator.Negotiate
iisexpress.exe Information: 0 : Operation=ApiControllerActionInvoker.InvokeActionAsync, Status=200 (OK)
iisexpress.exe Information: 0 : Operation=QueryableAttribute.ActionExecuted, Status=200 (OK)
iisexpress.exe Information: 0 : Operation=ClientsController.ExecuteAsync, Status=200 (OK)
iisexpress.exe Information: 0 : Response, Status=200 (OK), Method=GET, Url=http://localhost:51741/api/Clients/?$filter=UniqueName eq '6269', Message='Content-type='application/json; charset=utf-8', content-length=unknown'
iisexpress.exe Information: 0 : Operation=JsonMediaTypeFormatter.WriteToStreamAsync
iisexpress.exe Information: 0 : Operation=ClientsController.Dispose
Как мне отключить все это? Все, что я хочу видеть, - это мои вызовы Trace.TraceInformation
, Trace.TraceError
, Trace.TraceWarning
и т.д.
В App_Start\WebApiConfig.cs
удалите config.EnableSystemDiagnosticsTracing();
Прост как это: facepalm:
Прежде всего, когда вы используете код типа
Trace.TraceInformation("My Custom Info Message.");
для трассировки (неважно, из какого места - страницы, контроллера или какого-либо другого класса из отдельной .dll), а затем запустите приложение под IIS Express, окно MS VS Output отобразит что-то вроде
iisexpress.exe Information: 0 : My Custom Info Message.
Как вы могли узнать, какие сообщения являются "вашими" и "не вашими"? Может быть, вам следует добавить дополнительный маркер для каждого вашего сообщения? Но как я мог видеть, окна вывода по-прежнему не поддерживают фильтрацию сообщений с помощью настраиваемых тегов или текста, но он поддерживает поиск текста (Ctrl + F), поэтому...
У меня была такая же проблема с спамом IIS Express для окон вывода с такими сообщениями
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130838650006648508): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Я решил, что, перейдя в главное меню MS VS (2013)
- > DEBUG → Параметры и настройки... → Отладка → Окно вывода
и выключение ненужных типов выходных сообщений
Добавляет ли эта работа?
<location path="YouSiteName">
<system.webServer>
<httpLogging dontLog="true" />
</system.webServer>
</location>
Найдено по адресу: http://forums.iis.net/post/1992357.aspx