Arquivos

Arquivo por Autor

Efetuando upload de arquivos com C# no IIS

Segue Pseudo Código para efetuar upload de arquivos com c# no IIS:

if (this.FileUpload1.HasFile)
{
this.FileUpload1.SaveAs(Server.MapPath(“~\\pastaX\\pastay\\” + this.FileUpload1.FileName));
}

Enjoy!

Categorias.net, C# Tags:, , ,

Configurando o IIS Express para acessos externos no Visual Studio 2013

Direto ao ponto:

1- Editar o arquivo  %userprofile%\My Documents\IISExpress\config\applicationhost.config, ache o bind de seu site e adicione a seguinte linha (trocando pela porta adequada):

    <binding protocol=”http” bindingInformation=”*:8080:*” />

2- Adequar a porta no Windows. Como admin efetue o comando abaixo substituindo a porta como for apropriado?

    netsh http add urlacl url=http://*:8080/ user=everyone

3- Liberar o Firewall do Windows:

Start / Windows Firewall -> Advanced Security / Inbound Rules / New Rule…

        Program %ProgramFiles%\IIS Express\iisexpress.exe

Ou na porta adequada!

Enjoy!

Categorias.net Tags:, ,

C# – Mudar cursor de Mouse para Ampulheta

Sempre esqueço como alterar o cursor do mouse para ampulheta! Então, registrando:

this.Cursor = Cursors.WaitCursor;

…… Processo

this.Cursor = Cursors.Default;

Enjoy!

CategoriasC# Tags:, ,

C# – Como obter o usuário logado no AD?

julianommartins:

Otima postagem sobre busca em AD

Postado originalmente em Reflexões Brenianas:

Olá pessoal.

Não é novidade precisar capturar alguns dados diretamente do Active Directory através do usuário logado, sem que seja necessário a realização de uma nova autenticação. Eu já tinha feito isto uma vez utilizando Java e achei bem trabalhoso, pensei então que em C# seria mais natural acreditando em uma possível integração da plataforma .NET.

Comecei a pesquisar sobre uma melhor forma para fazer isto, e não encontrei muitas alternativas. De qualquer forma irei postar uma solução aqui, deixando os comentários sempre abertos para que outras soluções possam ser compartilhadas.

Para começar adicione as referências System.DirectoryServices e System.DirectoryServices.AccountManagement ao seu projeto.

Com isto é possível utilizar os namespaces que possuem as classes associadas ao Active Directory:

1

O método abaixo cria os objetos das classes referentes ao Active Directory necessários para a busca dos dados do usuário logado.

1
private Usuario ObterDadosUsuarioLogado()
{
// Obtém o…

Ver original 434 mais palavras

C# buscando usuários no AD

Existe muito material na Internet sobre como efetuar uma busca no Active Directory (AD) utilizando C#, porém, em poucos lugares encontrei como efetuar um filtro por mais que uma condição.

No exemplo abaixo, estou pesquisando usuários (user), do tipo pessoas (person) e que sejam membros do grupo Office365.

Veja só:

ds.Filter = string.Format(&amp;quot;(&amp;amp;amp;(&amp;amp;amp;({0}) {1}) {2})&amp;quot;, &amp;quot;objectClass=user&amp;quot;, &amp;quot;(objectCategory=person)&amp;quot;, &amp;quot;(memberOf=CN=Office365,DC=infopass,DC=tix11,DC=com)&amp;quot;);

O filtro ficará assim:

(&amp;amp;amp;(&amp;amp;amp; (objectClass=user) (objectCategory=person) (memberOf=CN=Office365,DC=infopass,DC=tix11,DC=com)) 

Isso quer dizer em “portugol”:

objectClass=user E objectCategory=person E memberOf=CN=Office365,DC=infopass,DC=tix11,DC=com

Se precisar usar um OU, use | ao invés de &.

Um pequeno trecho do código para ajudar mais:

DirectoryEntry de = GetDirectoryEntry();
DirectoryEntry rag = null;
object obj = de.NativeObject;
DirectorySearcher ds = new DirectorySearcher(de);
ds.Filter = string.Format(&amp;quot;(&amp;amp;amp;(&amp;amp;amp;({0}) {1}) {2})&amp;quot;, &amp;quot;objectClass=user&amp;quot;, &amp;quot;(objectCategory=person)&amp;quot;, &amp;quot;(memberOf=CN=Office365,DC=infopass,DC=tix11,DC=com)&amp;quot;);
ds.SearchScope = SearchScope.Subtree;
SearchResultCollection results = ds.FindAll();
Console.WriteLine(&amp;quot;Usuarios encontrados no grupo Office365 - &amp;quot; + results.Count);
....
foreach (SearchResult result in results)
{
    rag = (DirectoryEntry)result.GetDirectoryEntry();
....

Enjoy!

CategoriasC# Tags:, , , , ,

Imprimindo Statements no log do WebSphere

Uma necessidade comum é imprimir statemens e prepared statements no console do Websphere. Isso é facil!

Habilitando o trace no arquivo trace.log (normalmente localizado na pasta appServer01/profiles/server1/logs ) você irão ver os statements como no exemplo:

[8/4/14 14:16:40:328 GMT] 0000002b WSJccPrepared >  <init> Entry
com.ibm.db2.jcc.c.uf@58d858d8
com.ibm.ws.rsadapter.jdbc.WSJccSQLJConnection@453c453c
CLOSE CURSORS AT COMMIT (2)
PSTMT: INSERT INTO DB2PRD.THIST_OPER_FUTUR (CINDCD_CATEG_OPER, CINDCD_MCADO_LELAO, CINDCD_NEGOC_DIFRD, CINDCD_NEGOC_OPER, CINDCD_PARTC_LIQDC, CINDCD_TRNSF_PTFOL, CMCADO_FUTUR_CONTR, CMEIO_NEGOC_TESOU, CMERCD_FINCR, CTPO_MANUT_REG, CTPO_MERCD_TESOU, CUSUAR_MANUT, HINCL_REG_HIST, NCRRET_VLRS, NORIGE_NEGOC_TESOU, NSEQ_OPER_TESOU, NTPO_RISCO_TESOU, NVCTO_MCADO_FUTUR, QDIA_CORRI_OPER, QDIA_UTIL_OPER, QNEGOC_OPER, RJUSTF_TRNSF_PTFOL, VAJUST_DOLAR_INTL, VBASE_CURTO_OPER, VPRECO_UNTAR_OPER, VTX_NEGOC_OPER, VEMOLU_NORML_OPER, VEMOLU_DIA_OPER, NSEQ_OPER_DSBTO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 1003 1007 2 0 4
[8/4/14 14:16:40:328 GMT] 0000002b WSJccPrepared ... 

A configuração é bem extensível, dá pra brincar bastante.

Para habilitar, vá no Admin console do Websphere -> Resolução de Problemas -> Logs e Rastreios  e selecione seu servidor.

Vá em Rastreio de Diagnostico

Alterar Niveis de Detalhes do Log

Adicione as informações abaixo:

WAS.database=finest: com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement=finer: com.ibm.ws.rsadapter.jdbc.WSJdbcStatement=finer: com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement=finer: com.ibm.ws.rsadapter.jdbc.WSJccCallableStatement=finer: com.ibm.ws.rsadapter.jdbc.WSJccStatement=finer: com.ibm.ws.rsadapter.jdbc.WSJccPreparedStatement=finer

Salve, reinicie o servidor e voa lá!

Claro que o arquivo tende a ficar gigantesco conforme uso!

Recomendo utilizar uma ferramenta como o TAIL para ver o Log.

Veja também que temos milhares de outros parâmetros para logar e nos ajudar.

Enjoy!

Criando um Event Monitor no DB2

Muitas vezes precisamos logar os eventos que acontecem em nosso banco de dados DB2, normalmente, para monitorar desempenho, queries mais utilizadas, etc.

Criar um Event Monitor é uma das soluções mais simples e rapidas para monitoração. O procedimento abaixo mostra como criar um simples, que vai logar os eventos de seu banco:

– conecte no seu banco: db2 connect to banco user fulano using senha

– Criar o monitor de eventos
db2 “CREATE EVENT MONITOR monjmm FOR STATEMENTS WRITE TO FILE ‘c:\tmp'” — verificar se o destino c:\tmp existe e é possivel escrever no mesmo
 
– liga o monitor de eventos
db2 SET EVENT MONITOR monjmm STATE = 1
 
– Use o banco!
 
– Desligue o monitor de eventos
db2 SET EVENT MONITOR monjmm STATE = 0
 
– torne o output legivel
db2evmon -path c:\tmp > c:\tmp\filtered.out — Tem que dar permissao de leitura para os arquivos criados
 
– veja os eventos abrindo o arquivo com o bloco de notas
notepad c:\tmp\filtered.out
 
– deletar o monitor
db2 DROP EVENT MONITOR monjmm

Enjoy!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 151 outros seguidores