Fiquei duas horas e meia tentando resolver ontem, mais uma hora e meia hoje. Meu problema era um erro que encontrei no meu projeto, com a biblioteca do apache, para fazer webrequests. Achava que o problema era a migracao para o Android Studio. E eu nao pretendo voltar ao eclipse.O erro que aparece e:"error: package org.apache.http does not exist"Procurei na internet e encontrei diversas recomendacoes. A primeira foi adicionar uma biblioteca do apache na lista de dependencies. Adicionei, mas ele ainda nao encontrava a classe org.apache.http.client.utils.URLEncodedUtils. Uma outra sugestao foi forcar o uso da biblioteca apache, colocando o codigo android { useLibrary 'org.apache.http.legacy' } no gradle.Encontrei pessoas falando para usar uma biblioteca chamada Volley, que deve substituir a do apache. E pensei em ajustar o projeto para usar. Descobri que a LVL, biblioteca do android para verificar licenca, nao esta adaptada. Nao encontrei qualquer versao dela que estivesse. Mesmo a versao oficial do site. So bastante gente xingando por nao terem adaptado ainda, pois a versao Marshmallow do android (6.0) vai cortar a biblioteca apache.Nesse momento, me dei conta de que tinha atualizado o arquivo gradle para usar a ultima API do Android, a 23, do Marshmallow, assim que migrei para o Android Studio. Estava usando a API 19 como maxima antes, muito atrasado. Mudei para 22. Tudo voltou a funcionar. Tive um problema com meus parametros no MVC. Se voce costuma mexer com MVC e ja brincou com o routeConfig, sabe que pode mexer na Url como quiser. No meu caso, tudo que eu estava fazendo era passar uma string como parametro na url. E funcionava lindamente. Na minha maquina.Subimos para o ambiente de homologacao, tudo certo. Subimos para producao. O cliente pediu para subir temporariamente oculto por uma pasta. Facil, virtual directory. Tudo funcionando, otimo... Ate aparecer um ponto entre as palavras que estavam como parametro. Foi lindo:"The resource you are looking for has been removed, had its name changed, or is temporarily unavailable." Muito bonito. Um 404. De uma pagina que existe. A diferenca? O maldito ponto. E vai fazer busca por MVC dot parameter. Enfim, busquei e acabei encontrando uma solucao para colocar no web.config: http://stackoverflow.com/questions/11048863/modules-runallmanagedmodulesforallrequests-true-meaning.Logo abaixo, alguem pergunta sobre a vulnerabilidade da solucao. Me deu inseguranca. Ninguem respondeu. Mas, em um dos comentarios, a pessoa cita outro post: http://stackoverflow.com/questions/20998816/dot-character-in-mvc-web-api-2-for-request-such-as-api-people-staff-45287Apesar da solucao aceita ser a mesma, logo abaixo alguem postou outra solucao: <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />Procurei apenas pelo trecho e achei lugares afirmando que seria mais segura, por ser menos aberta.Fora isso, apenas uma coisa: para simular o erro com virtual directory nao foi necessario ficar publicando diversas vezes. Apenas colocar o path a mais no routeConfig foi suficiente, o erro que aconteceu foi o mesmo. Faz algum tempo que procuro um meio de executar codigos antes e depois da execucao de um metodo, de forma limpa. Estava procurando isto especificamente por causa desde tipo de codigo: public void MyMethod() { BeginTransaction(); try { [meu codigo para executar no DB] CommitTransaction(); } catch (Exception) { RollbackTransaction(); throw; } }Este codigo e complexo de entender, e