Мы в настоящее время используют следующие способы записи в LightSwitch Trace.axd войти:
Microsoft.LightSwitch.Trace.TraceInformation("test info");
Microsoft.LightSwitch.Trace.TraceError(new Exception("test exception"));
TraceError полезно, как вы можете легко перейти в пойманной исключения, и это выделено красным цветом в трассировке .axd.
Мы также категоризации наши следы, предоставляя дополнительный параметр категории следующим образом: -
Microsoft.LightSwitch.Trace.TraceInformation("CustomCategory", "test info");
Для того, чтобы увидеть эти категоризированных следы, нужно включить «CustomCategory» в Microsoft.LightSwitch.Trace .Categories раздел вашего web.config, например:
<!-- The semicolon-separated list of categories that will be enabled at the specified trace level -->
<add key="Microsoft.LightSwitch.Trace.Categories" value="Microsoft.LightSwitch;CustomCategory" />
Как говорилось в Lightswitch команды Блог пост Diagnosing Problems in a Deployed 3-Tier LightSwitch Application (Eric Erhardt), вам необходимо рассмотреть следующие параметры в вашем web.config для того, чтобы включить журнал трассировки:
- Microsoft.LightSwitch.Trace.Enabled
- Microsoft.LightSwitch.Trace.LocalOnly
- Microsoft.LightSwitch.Trace.Level
- Microsoft.LightSwitch.Trace.Sensitive
- Microsoft.LightSwitch. Trace.Categories
Хотя эта диагностическая подсистема предназначена для отслеживания действий, запрашиваемых сервером, и ответа сервера на каждый acti on, его также можно принуждать к отслеживанию операций на стороне клиента, предоставляя клиенту конечную точку на стороне сервера методам трассировки на стороне сервера.
Одним из вариантов обеспечения этого является реализация конечной точки контроллера API-интерфейса ASP.NET и вызов этого из клиента LightSwitch.Следующее LightSwitch команда Публикации обеспечивают обзор реализации этого типа конечной точки:
Хотя эти сообщения в блоге охватывают общие детали, в данном конкретном случае, следующие основные могут быть использованы шаги:
Реализовать WebAPI конечной
- Нажмите правой кнопкой мыши на проекте сервера и добавить папку под названием апи
- правой кнопкой мыши на этой новой папке апи и добавить новый элемент (выберите Web \ Web API контроллер класса) называется TraceController.cs
Код конечной точки в TraceController по следующим направлениям:
public class TraceController : ApiController { [HttpGet] [Route("api/Trace/Information/{message}")] public void Information(string message) { using (var sac = ServerApplicationContext.CreateContext()) { Microsoft.LightSwitch.Trace.TraceInformation(message); } } }
нажмите правой кнопкой мыши на проекте сервера и добавить новый элемент (выберите Web \ Общие \ Global Class Application) называется Global.asax
Осуществить следующую конфигурацию в методе Application_Start в global.asax в:
public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { GlobalConfiguration.Configure(config => { config.MapHttpAttributeRoutes(); }); } }
Быстрый пример вызова WebAPI конечной точки от клиента LightSwitch HTML
var message = encodeURIComponent("Hello JavaScript World");
var url = "../api/Trace/Information/" + message;
$.ajax({
type: "GET",
url: url,
context: document.body
});
Быстрый пример вызова конечной точки WebAPI из клиент LightSwitch Silverlight
Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(async() =>
{
System.Net.WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.BrowserHttp);
System.Net.WebRequest.RegisterPrefix("https://", System.Net.Browser.WebRequestCreator.BrowserHttp);
var message = "Hello Silverlight World";
var uri = new Uri(System.Windows.Application.Current.Host.Source, "/api/Trace/Information/" + message);
var request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(uri);
request.BeginGetResponse(ac => { }, null);
});
}
Я попытался Microsoft.LightSwitch.Trace.TraceInformation ("тест информации"); Microsoft.LightSwitch.Trace.TraceError (новое исключение («исключение теста»)); , но не видел строк в trace.axd ... нужны ли дополнительные настройки для этого? –
У меня есть эти настройки в web.config: \t \t \t \t <добавить ключ = значение "Microsoft.LightSwitch.Trace.Enabled" = "истинный" /> \t \t <добавить ключ = "Microsoft.LightSwitch.Trace.LocalOnly "value =" true "/> –
Я пишу этот код в событии кнопки LightSwitch. –