Terminal fecha automaticamente

.NET Core

.NET

ASP.NET MVC

03/09/2019

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

Curtidas 0

Respostas

Sadasd

Sadasd

03/09/2019

É 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
GOSTEI 0
Marksys

Marksys

03/09/2019

É 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...
GOSTEI 0
Marksys

Marksys

03/09/2019

É 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...
GOSTEI 0
Sadasd

Sadasd

03/09/2019

É 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.
GOSTEI 0
Marksys

Marksys

03/09/2019

É 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...
GOSTEI 0
Sadasd

Sadasd

03/09/2019

É 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.
GOSTEI 0
Marksys

Marksys

03/09/2019

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.
GOSTEI 0
POSTAR