FREE eBook: .NET Performance Testing and Optimization – The Complete Guide

Pessoal!

Eu acabei de ler esse livro e recomendo.

Para fazer o download basta clicar aqui.

Abaixo segue a descrição:

In the complete guide to .NET Performance Testing and Optimization, Paul Glavich and Chris Farrell offer a comprehensive handbook to anybody looking to set up a .NET testing environment and get the best results out of it. The authors will also walk you through both memory and performance profiling and suggest steps you can take to get fast performance gains. Download your free copy now.

  • Chapter 01: Introduction – The What and the Why
  • Chapter 02: Understanding Performance Targets
  • Chapter 03: Performance and Load Test Metrics
  • Chapter 04: Implementing your Test Rig
  • Chapter 05: Creating Performance Tests
  • Chapter 06: Next Steps – Profiling
  • Chapter 07: Performance Profiling
  • Chapter 08: Memory Profiling
  • Chapter 09: The Performance Testing Process
  • Chapter 10: Common Areas for Performance Improvement
  • Chapter 11: Load Balancing
  • Chapter 12: Internet Information Server (IIS)
  • Chapter 13: HTTP Optimization

Abraço, Rodrigo

 

Movendo form sem borda

Geralmente quando definimos um layout diferenciado para uma aplicação Windows, nós necessitamos tratar os formulários e para combinar cores podemos definir o formulário sem bordas e criar uma borda mais trabalhada para a aplicação, arredondada ou simplesmente com uma cor diferenciada.

O problema é que quando definimos um formulário sem a title bar e necessitamos do movimento do formulário.

Para corrigir isso basta utilizar o evento mouse move, abaixo vou descrever as partes do código.

 

  Private pPermiteMover As Boolean = False

  Private pMouseX As Integer = 0

  Private pMouseY As Integer = 0

 

  Private Sub Form1_MouseDown(ByVal sender As Object, _

                              ByVal e As System.Windows.Forms.MouseEventArgs) _

                                Handles Me.MouseDown

    If e.Button = MouseButtons.Left Then pPermiteMover = True : pMouseX = e.X : pMouseY = e.Y

  End Sub

 

A variável pPermiteMover terá o valor igual a verdadeiro quando acontecer o evento MouseDown através do botão esquerdo do mouse e nesse caso também irá atribuir o valor da posição X do cursor para a variável pMouseX e Y para a variável pMouseY.

 

  Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove

    If pPermiteMover = True Then

      Dim lPosicaoAtual As Point = New Point()

      lPosicaoAtual.X = Me.Location.X + (e.X – pMouseX)

      lPosicaoAtual.Y = Me.Location.Y + (e.Y – pMouseY)

      Me.Location = lPosicaoAtual

      lPosicaoAtual = Nothing

    End If

  End Sub

 

O evento mouse move, verifica se é permitido mover e atribui a variável lPosicaoAtual os pontos somados através da localização atual e a subtração da posição do eixo X e Y com o pMouseX e Y.

 

  Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp

    If e.Button = MouseButtons.Left Then

      pPermiteMover = False

    End If

  End Sub

 

Já no evento MouseUp, que verifica se o botão é o esquerdo e se for atribuí o valor falso para o variável que permite mover o formulário.

Esse código permite mover o formulário inteiro, porém se foi criado uma title bar personalizada será necessária colocar esse código no componente utilizado para formar a nova title bar.

Para fazer o teste  basta copiar e colar o código abaixo.

 

Public Class Form1

 

#Region “Move Formulário”

 

  Private pPermiteMover As Boolean = False

  Private pMouseX As Integer = 0

  Private pMouseY As Integer = 0

 

  Private Sub Form1_MouseDown(ByVal sender As Object, _

                              ByVal e As System.Windows.Forms.MouseEventArgs) _

                                Handles Me.MouseDown

    If e.Button = MouseButtons.Left Then pPermiteMover = True : pMouseX = e.X : pMouseY = e.Y

  End Sub

 

  Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove

    If pPermiteMover Then

      Dim lPosicaoAtual As Point = New Point()

      lPosicaoAtual.X = Me.Location.X + (e.X – pMouseX)

      lPosicaoAtual.Y = Me.Location.Y + (e.Y – pMouseY)

      Me.Location = lPosicaoAtual

      lPosicaoAtual = Nothing

    End If

  End Sub

 

  Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp

    If e.Button = MouseButtons.Left Then

      pPermiteMover = False

    End If

  End Sub

 

#End Region

 

 

End Class

 

Abraço, Rodrigo

 

Set Identity_Insert

Como fazer o insert de um registro forçando o valor do campo identity sem dropar esse campo.

Pessoal, é muito simples.

O SQL Server nos permite utilizar o Set Identity_Insert, no exemplo abaixo temos uma tabela com alguns registros e necessitamos incluir o ID com valor 8.

 

SET IDENTITY_INSERT ad_localvisita On

insert into ad_localvisita (cdlocalvisita, nmlocalvisita, cdpesquisador, btativo, dtmovimento)

values(

8, ‘Local 1’, 1, 1, GETDATE())

SET IDENTITY_INSERT ad_localvisita Off

 

Essa é a melhor maneira de resolver o problema, para quem tem o habito de dropar uma coluna e recriar, fazer algoritmos em t-SQL para resolver o problema, essa solução é a mais adequada e não representa uma gambiarra.

 

Abraço, Rodrigo