簡體   English   中英

將ASP.NET Web API遷移到ASP.NET Core

[英]Migration asp.net web api to asp.net core

我的asp.net靜態構造函數在發送郵件時被調用

static EmailHelper()
        {
            //load configuration from config file

            int intSmtpPort = 0;
            int.TryParse(WebConfigurationManager.AppSettings["smtpport"], out intSmtpPort);
            host = WebConfigurationManager.AppSettings["smtpclient"];
            port = intSmtpPort;
            user = WebConfigurationManager.AppSettings["username"];
            password = WebConfigurationManager.AppSettings["password"];
            fromEmail = WebConfigurationManager.AppSettings["frommail"];

        }

我的asp.net核心靜態構造函數類拋出錯誤,因為它應該是無參數的,但是我需要使用配置

 static EmailHelper(IOptions<SmtpConfig> smtpConfig)
        {
            int intSmtpPort = 0;
            int.TryParse(SmtpConfig.smtpport, out intSmtpPort);
            host = SmtpConfig.smtpclient;
            port = intSmtpPort;
            user = SmtpConfig.username;
            password = SmtpConfig.password;
            fromEmail = SmtpConfig.frommail;

        }

如果我使用公共構造函數,則不會被調用。 我該怎么辦? 還有另一種方法可以在不使用依賴項注入的情況下將配置設置注入我的類中嗎?

靜態構造函數不能用於依賴項注入。

為什么不創建一個非靜態的構造函數,並在依賴項注入中將EmailHelper注冊為服務?

這樣,您可以在需要的任何地方注入和使用EmailHelper。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM