Terminal fecha automaticamente

03/09/2019

0

Olá! Preciso de um código criptografado para em uma API de software, mas na hora de executar o código o terminal fecha automaticamente. O código não possui nenhum erro nem nenhum advertência, segue abaixo o código:

using api.pole.Infra.Security;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.IO;

namespace api.pole.Infra
{
public static class DbConfig
{
public static string GetConfig()
{
var conn = GetJsonConnectionData();

return conn;
}

public static string GetJsonConnectionData()
{
string connectionString = "DataSource= 10.1.0.215;Initial Catalog=DB_POLE; Persist Security Info=True;User ID=sa;Password=@adm.ti.M4rk.sql";

string conexaoEncriptografada = ConnectionStringUtil.Encrypt(connectionString);

try
{
JObject jsonSettings = JObject.Parse(File.ReadAllText(@"appsettings.json"));

string jsonSerializado = JsonConvert.SerializeObject(jsonSettings);
string jsonEncriptado = JObject.Parse(jsonSerializado)["Data"]["DefaultConnection"]["ConnectionString"].ToString();


string hashDecriptado = ConnectionStringUtil.Decrypt(jsonEncriptado);



//connectionString = jsonEncriptado;

connectionString = hashDecriptado;

//desencriptacao
// connectionString = EncrypterHelper.Decrypt (jsonEncriptado);
}
catch (System.Exception e)
{
connectionString = e.Message;
}

return connectionString;
}
}
}

A única coisa que alterei no código foi a string de conexão. Alguém sabe o que posso fazer para fixar o terminal do CMD? Desde já agradeço!
Marksys

Marksys

Responder

Posts

03/09/2019

Sadasd

É normal isso acontecer, na verdade, o programa simplesmente faz o que tem que ser feito e depois fecha, por isso quando programamos colocamos um input no final do código pro terminal ficar esperando receber um input do usuário antes de fechar, coloca um
Console.ReadLine();

no final do seu código
Responder

04/09/2019

Marksys

É normal isso acontecer, na verdade, o programa simplesmente faz o que tem que ser feito e depois fecha, por isso quando programamos colocamos um input no final do código pro terminal ficar esperando receber um input do usuário antes de fechar, coloca um
Console.ReadLine();

no final do seu código


Eu também pensei nisso, pois quando programava em C# eu tinha que fazer isso também, o problema é que mesmo colocando o Console.Readline() no final, o resultado é o mesmo. Já uso C# há um bom tempo e isso nunca aconteceu, muito estranho...
Responder

04/09/2019

Marksys

É normal isso acontecer, na verdade, o programa simplesmente faz o que tem que ser feito e depois fecha, por isso quando programamos colocamos um input no final do código pro terminal ficar esperando receber um input do usuário antes de fechar, coloca um
Console.ReadLine();

no final do seu código


Eu também pensei nisso, pois quando programava em C# eu tinha que fazer isso também, o problema é que mesmo colocando o Console.Readline() no final, o resultado é o mesmo. Já uso C# há um bom tempo e isso nunca aconteceu, muito estranho...
Responder

05/09/2019

Sadasd

É normal isso acontecer, na verdade, o programa simplesmente faz o que tem que ser feito e depois fecha, por isso quando programamos colocamos um input no final do código pro terminal ficar esperando receber um input do usuário antes de fechar, coloca um
Console.ReadLine();

no final do seu código


Eu também pensei nisso, pois quando programava em C# eu tinha que fazer isso também, o problema é que mesmo colocando o Console.Readline() no final, o resultado é o mesmo. Já uso C# há um bom tempo e isso nunca aconteceu, muito estranho...


Certo, nesse caso crie um novo projeto, um hello world basico e veja se o problema persiste, caso sim pode ser um problema no visual studio e você pode ter que reinstalar, outra alternativa é usar o cmd do seu próprio computador ao invés de rodar o programa no visual studio.
Responder

05/09/2019

Marksys

É normal isso acontecer, na verdade, o programa simplesmente faz o que tem que ser feito e depois fecha, por isso quando programamos colocamos um input no final do código pro terminal ficar esperando receber um input do usuário antes de fechar, coloca um
Console.ReadLine();

no final do seu código


Eu também pensei nisso, pois quando programava em C# eu tinha que fazer isso também, o problema é que mesmo colocando o Console.Readline() no final, o resultado é o mesmo. Já uso C# há um bom tempo e isso nunca aconteceu, muito estranho...


Certo, nesse caso crie um novo projeto, um hello world basico e veja se o problema persiste, caso sim pode ser um problema no visual studio e você pode ter que reinstalar, outra alternativa é usar o cmd do seu próprio computador ao invés de rodar o programa no visual studio.


Certo, testei em uma nova aplicação e deu tudo certo. Também percebi que o problema existe porque o Console.Readline(); consta como inacessível, como pode ser visto no código abaixo:

using api.pole.Infra.Security;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.IO;

namespace api.pole.Infra
{
    public static class DbConfig
    {
        public static string GetConfig()
        {
            var conn = GetJsonConnectionData();

            return conn;
        }

        public static string GetJsonConnectionData()
        {
            string connectionString = "DataSource= 10.1.0.215; Initial Catalog=DB_POLE; Persist Security Info=True; User ID=sa;Password=@adm.ti.M4rk.sql";

            string conexaoEncriptografada = ConnectionStringUtil.Encrypt(connectionString);

            try
            {


                JObject jsonSettings = JObject.Parse(File.ReadAllText(@"appsettings.json"));

                string jsonSerializado = JsonConvert.SerializeObject(jsonSettings);
                string jsonEncriptado = JObject.Parse(jsonSerializado)["Data"]["DefaultConnection"]["ConnectionString"].ToString();


                string hashDecriptado = ConnectionStringUtil.Decrypt(jsonEncriptado);



                //connectionString = jsonEncriptado;

                connectionString = hashDecriptado;


                //desencriptacao
                //connectionString = EncrypterHelper.Decrypt (jsonEncriptado);

             
               
            }
            catch (System.Exception e)
            {
                connectionString = e.Message;
            }

            return connectionString;

            Console.ReadLine();

        }
    }
}


Agora vou precisar dar um jeito de fazer esse Console.Readline funcionar...
Responder

05/09/2019

Sadasd

É normal isso acontecer, na verdade, o programa simplesmente faz o que tem que ser feito e depois fecha, por isso quando programamos colocamos um input no final do código pro terminal ficar esperando receber um input do usuário antes de fechar, coloca um
Console.ReadLine();

no final do seu código


Eu também pensei nisso, pois quando programava em C# eu tinha que fazer isso também, o problema é que mesmo colocando o Console.Readline() no final, o resultado é o mesmo. Já uso C# há um bom tempo e isso nunca aconteceu, muito estranho...


Certo, nesse caso crie um novo projeto, um hello world basico e veja se o problema persiste, caso sim pode ser um problema no visual studio e você pode ter que reinstalar, outra alternativa é usar o cmd do seu próprio computador ao invés de rodar o programa no visual studio.


Certo, testei em uma nova aplicação e deu tudo certo. Também percebi que o problema existe porque o Console.Readline(); consta como inacessível, como pode ser visto no código abaixo:

using api.pole.Infra.Security;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.IO;

namespace api.pole.Infra
{
    public static class DbConfig
    {
        public static string GetConfig()
        {
            var conn = GetJsonConnectionData();

            return conn;
        }

        public static string GetJsonConnectionData()
        {
            string connectionString = "DataSource= 10.1.0.215; Initial Catalog=DB_POLE; Persist Security Info=True; User ID=sa;Password=@adm.ti.M4rk.sql";

            string conexaoEncriptografada = ConnectionStringUtil.Encrypt(connectionString);

            try
            {


                JObject jsonSettings = JObject.Parse(File.ReadAllText(@"appsettings.json"));

                string jsonSerializado = JsonConvert.SerializeObject(jsonSettings);
                string jsonEncriptado = JObject.Parse(jsonSerializado)["Data"]["DefaultConnection"]["ConnectionString"].ToString();


                string hashDecriptado = ConnectionStringUtil.Decrypt(jsonEncriptado);



                //connectionString = jsonEncriptado;

                connectionString = hashDecriptado;


                //desencriptacao
                //connectionString = EncrypterHelper.Decrypt (jsonEncriptado);

             
               
            }
            catch (System.Exception e)
            {
                connectionString = e.Message;
            }

            return connectionString;

            Console.ReadLine();

        }
    }
}


Agora vou precisar dar um jeito de fazer esse Console.Readline funcionar...


Não coloque nenhum código abaixo do "return" pois ele não será lido, coloque seu "Console.ReadLine" no final do método main.
Responder

06/09/2019

Marksys

Olá Daniel, bem lembrado! De fato eu estava suspeitando estar colocando o Console.Readline no lugar errado mesmo, mas mesmo colocando no final da função Main acontece a mesma coisa. Parece que nenhuma alteração que estou fazendo interfere no resultado.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar