2017-01-18 8 views
2

これはStartup.csファイルのコードで、3つのメソッドのうち2つがビルド時に実行されています。しかし、私は底のメソッド公開空白PackageRequestDataAccessを追加し、何らかの理由でそれが実行されていません。ビルド時に起動していないStartup.csのpublic voidメソッド

namespace Company.Shipping.Service 
{ 
    public class Startup 
    { 
     private IHostingEnvironment _environment; 
     private IConfigurationRoot _configurationRoot; 

     public Startup(IHostingEnvironment env) 
     { 
      _environment = env; 
     } 

     public void ConfigureServices(IServiceCollection services) 
     { 
      //Code Ran successfully here 
     } 

     public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime appLifetime) 
     { 
      //Code running successfully here 
     } 

     //Method below not running 
     public void PackageRequestDataAccess(Common.ServiceHost.WebHost.ServiceConfiguration configuration, IServiceCollection services) 
     { 
      IMongoCollection<PackageDataEntity> _reqrespcollection; 
      MongoDBRepository<PackageDataEntity> _repo = new MongoDBRepository<PackageDataEntity>(configuration.ConnectionStrings["MongoDB"]); 

      _reqrespcollection = _repo.Collection; 

      int _expiry = Convert.ToInt32(configuration.Settings["ShippingReqRespDataTTL"]); 
      TimeSpan _ttl = new TimeSpan(0, 0, _expiry); 
      CreateIndexOptions index = new CreateIndexOptions(); 
      index.ExpireAfter = _ttl; 

      var _key = Builders<PackageDataEntity>.IndexKeys.Ascending("RequestSentOn"); 
      _reqrespcollection.Indexes.CreateOneAsync(_key); 
     } 
    } 
} 

アプリケーションが起動するたびに、これらの3つの方法をすべて実行する必要があります。

+0

どのルーチンが実行されていることをどのように検証できましたか?あなたはこれを確信していますか? – STLDeveloper

+1

どのようなプロジェクトですか? –

+1

あなたはそれが最初から実行されるべきだと思いますか?それを呼びますか?あなたはaspnetコアによって呼び出されることを期待していますか?私はこれに関連する何も見ませんので、あなたが何が起こることを期待しているか分かりません。 –

答えて

2

MSDNドキュメントavailable hereによれば、起動時にConfigureおよびConfigureServicesのみが呼び出されます。

起動クラスは、configureメソッドを含まなければならないと を任意にすることができる アプリケーションの起動と呼ばれている両方ともConfigureServices方法を含みます。

場合によっては、このメソッドのいずれかにロジックを追加することも、上記のメソッドからメソッドを呼び出すこともできます。

関連する問題