Właśnie zostałem konfigurowania MiniProfiler, aby zapisać wyniki do SQL Azure, to jest dość łatwe. Używamy MiniProfiler.MVC3 do dbania o wszystkie okablowanie zgodnie z opisem here.
Utworzony skrypt jest osadzony w zespole ze statycznym polem SqlServerStorage.TableCreationScript
, więc możesz go użyć, ale podczas wkopywania się w kod znalazłem, że najnowsza gałąź rozwojowa nieznacznie ulepszyła skrypt, dodając niektóre indeksy. Struktura tabeli nie została zmieniona, więc nadal działa z najnowszym pakietem dostępnym pod numerem nuget.
W czasie pisania here is direct link do najnowszej tabeli utworzyć skrypt.
Po że jedyną rzeczą, którą musisz zrobić, to set-up MiniProfiler używać SQL z pojedynczego wiersza kodu:
MiniProfiler.Settings.Storage = new SqlServerStorage("<your connection string>");
Jeśli nie używasz SQL Azure, to wszystko, ale znalazłem jeden problem, kiedy próbowaliśmy go użyć na platformie Azure. Otrzymałem następujący wyjątek (dziękuję ELMAH) podczas profilowania próbował ratować:
System.Data.SqlClient.SqlException
tabele bez indeksu klastrowego nie są obsługiwane w tej wersji programu SQL Server. Utwórz indeks klastrowy i spróbuj ponownie.
Aby rozwiązać ten problem, musiałem dodać dodatkową (nieużywaną) kolumnę do tabeli MiniProfilers
. Oto początek utworzyć tabelę skryptu w pytaniu:
create table MiniProfilers
(
RowId integer not null identity constraint PK_MiniProfilers primary key clustered, -- Need a clustered primary key for SQL azure
Id uniqueidentifier not null,
Name nvarchar(200) not null,
A ponieważ kolumna Guid Id już nie klucz podstawowy, dodałem dodatkowy wskaźnik, aby zapewnić wyszukiwań są nadal szybko:
create unique nonclustered index IX_MiniProfilers_Id on MiniProfilers (Id)
Nadzieję, że pomaga.
Aktualizacja
Zmiana wspierać SQL Azure został dostarczony jako Pull Request i zaakceptowane. Dziękujemy Jarrod.
Znalazłem interfejs IStorage w źródłach mini profilera, ale wydaje się, że nie jest on dobrze udokumentowany. – NickD