01.07.2015

Как включить трассировку запросов к базе для LLBLGen Pro

Для того, чтобы в режиме отладки посмотреть, какие запросы к базе генерирует ORM LLBLGen Pro, достаточно в web.config добавить несколько строк.
Например, для баз данных PostgreSQL:
<system.diagnostics>
    <switches>
        <add name="PostgreSqlDQE" value="4" />
    </switches>
</system.diagnostics>
Секция <system.diagnostics> должна находится в корневой секции <configuration>.

Свитчи для остальных баз данных и другие дополнительные сведения можно получить здесь.

30.06.2015

Как установить ETag из кода

Для того, чтобы вручную прикреплять к ответу сервера заголовки ETag и Last Modified, например в каком-нибудь HttpHandler, достаточно добавить лишь несколько строк кода:

context.Response.AddFileDependency(request.PhysicalPath);
context.Response.Cache.SetLastModifiedFromFileDependencies();
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.Cache.SetETagFromFileDependencies();

где context — это HttpContext (или HttpContext.Current), а request — это HttpContext.Request (или HttpContext.Current.Request).

Решение было найдено здесь.

Если вдруг появится проблема с генерацией ETag, например возникнет HttpException: Unable to generate etag from dependencies. One of the dependencies couldn't generate a unique id, перед добавлением заголовков добавьте Thread.Sleep(10). Из-за чего возникает такое исключение, точно не известно. Решение было найдено здесь.