2017-10-04 19 views
0

電子メールを送信するために設計された.netコアアプリケーションがあります。電子メールの送信に使用された電子メールとパスワードはjsonファイルに保存されています。私は通常、開発中に電子メールを送信することができましたが、公開するとアプリケーションはjsonファイルから電子メールとパスワードを読み取ることができませんでした。コードにエラーはありますか?jsonファイルから値を読み取る方法

public class Startup 
{ 
    public static IConfiguration Configuration { get; set; } 

    public Startup(IHostingEnvironment env) 
    { 
     var builder = new ConfigurationBuilder() 

      .SetBasePath(env.ContentRootPath) 
      .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 
      .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) 
      .AddEnvironmentVariables(); 

     Configuration = builder.Build(); 
    } 

    public void ReadFromJson() 
    { 
      var email = ($"{Configuration["option1"]}"); 
      var password = ($"{Configuration["option2"]}"); 
      var path = ($"{Configuration["option3"]}"); 
      File.WriteAllText("/var/hey.txt",email); 
    } 

JSONファイル(appsettings.json):

{ 
    "option1": "[email protected]", 
    "option2": "something", 
    } 

答えて

1

使用IConfigurationを試してみました新しいクラスのデータを読み込み、そのアクセスから必要な場所に移動する

+0

ありがとう、私のコードを書き換え、私はReadFromJsonメソッドでクラスに入れて、それでも私に電子メールで空の文字列を与えた –

+0

私は、今すぐ確認できますか –

+0

ありがとうございました –

0

は、なぜあなたはここに文字列interoplationを使用していますか?あなたが作成し、スタートアップではなく、行うには良い練習にReadFromJsonを置くスタートアップ方法

services.Configure<ClassName>(Configuration); 

にこれを入れ

IConfiguration _iconfiguration; 
public ConstructorForClass(IConfiguration iconfiguration) { 
    _iconfiguration = iconfiguration; 
} 

public void ReadFromJson() 
    { 
var email =_iconfiguration["option1"]; 
var email =_iconfiguration["option1"]; 
    } 

コンフィギュレーション・データを読み込むための

var option1 = Configuration.GetValue<string>("option1"); 
+0

ありがとう、しかし、私はまだアプリケーションを公開した後に値を読み取らなかった –

0
protected void Button1_Click(object sender, EventArgs e) 
    { 
     jsonstring = client.DownloadString("http://maps.googleapis.com/maps/api/geocode/json?address=Kokuvil"); 
     dynamic dynObj = JsonConvert.DeserializeObject(jsonstring); 

     Response.Write(dynObj.results[0].address_components[1].long_name); 
    } 
関連する問題