第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何修復(fù)結(jié)構(gòu)映射 DI 錯(cuò)誤 = 控制器構(gòu)建中發(fā)生的值不能為空

如何修復(fù)結(jié)構(gòu)映射 DI 錯(cuò)誤 = 控制器構(gòu)建中發(fā)生的值不能為空

C#
胡子哥哥 2021-11-07 20:28:49
場(chǎng)景是; VS2017、MVC 5、StructureMap.MVC5我收到以下錯(cuò)誤:構(gòu)建類型 BLL.MMCodes.MMCodesService 時(shí)出錯(cuò)。" InnerException {"值不能為空。\r\n參數(shù)名稱:字符串"}嘗試運(yùn)行我的應(yīng)用程序時(shí)出現(xiàn)在“DoGetInstance”函數(shù)中。protected override object DoGetInstance(Type serviceType, string key) {        IContainer container = (CurrentNestedContainer ?? Container);        if (string.IsNullOrEmpty(key)) {            return serviceType.IsAbstract || serviceType.IsInterface                ? container.TryGetInstance(serviceType)                : container.GetInstance(serviceType);        }        return container.GetInstance(serviceType, key);    }服務(wù)和接口namespace BLL.MMCodes{    public interface IMMCodesService    {        bool ValidateAgainstBizRules(string MMCode, out string errorMessage);        bool _UseEF        {            get;            set;        }    }public class MMCodesService : IMMCodesService{    private string errorMessage;    public MMCodesService()    {        ValidateAgainstBizRules( MMCode, out errorMessage);    }    #region vars    public string MMCode { get; set; }    private bool IsValid { get; set; }    private List<string> Validations = new List<string>();    #endregion    public  bool _UseEF { get; set; }    public bool ValidateAgainstBizRules(string mmCode, out string errorMessage)    {....}控制器using System.Collections.Generic;using System.Web.Mvc;using BLL.MMCodes;using BusinessLayerDemoProject.Models;namespace BusinessLayerDemoProject.Controllers{    public class MMCodeController : Controller    {        private IMMCodesService _iService;        public MMCodeController(IMMCodesService service)        {            this._iService = service;            this._iService._UseEF = true;        }我已經(jīng)嘗試了來自整個(gè)論壇的幾個(gè)建議,例如。更改中的屬性StructureMapDependencyScope以適應(yīng) HTTPContext 和 CurrentNestedContainer 屬性中的 null,但沒有成功。
查看完整描述

1 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

問題是這個(gè)代碼:


public MMCodesService()

{

    ValidateAgainstBizRules( MMCode, out errorMessage);

}

構(gòu)造函數(shù)中的代碼拋出異常。因此StructureMap無法將其傳遞給依賴于它的那些對(duì)象。


因此,您可以修復(fù)代碼以使其不引發(fā)異常。


但是……


我?guī)缀蹩梢钥隙ùa應(yīng)該被刪除/注釋掉。代碼在構(gòu)造函數(shù)中被調(diào)用。因此,根據(jù)定義,MMCode尚未設(shè)置 - 因此對(duì)其進(jìn)行任何類型的驗(yàn)證都是毫無意義的。因此,我建議將代碼更改為:


public MMCodesService()

{

}


查看完整回答
反對(duì) 回復(fù) 2021-11-07
  • 1 回答
  • 0 關(guān)注
  • 198 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)