Autofac手動注入及自動注入示例

2021-09-09 08:47:27 字數 1708 閱讀 5246

一、環境

vs2012、mvc4、.net framework4.5

二、過程

1、新建專案,asp.net mvc 4 web應用程式,確定,internet應用程式,確定

2、工具,庫程式包管理器,管理解決方案的nuget程式包

3、選擇聯機,右上角輸入autofac搜尋

4、安裝autofac和autofac integration mvc4

5、建立業務實體專案,解決方案右鍵,新增,新建專案,類庫,core

6、專案core裡面建立年級類 grade ,設為public ,新增屬性 name public string name (c#自動屬性)

7、建立業務邏輯專案,解決方案右鍵,新增,新建專案,類庫,services

8、專案services要引用專案core,用到實體grade。

8、專案services裡面建立介面igradeservice,設為public,新增方法getallgrade(), ilist getaddgrade(); 看最後**

9、專案services裡面建立類gradeservice,繼承介面igradeservice,實現方法getallgrade() ,看最後**

11、修改homecontroller裡面index方法,改為如下,注意引用

複製**

private igradeservice _gradeservice;

public homecontroller(igradeservice gradeservice)

public actionresult index()

複製**

12、修改頁面index.cshtml ,新增如下**

複製**

@using core;

@model list< grade>

@@foreach (var item in model)

{

@item.name 

複製**

//依賴注入

複製**

注意:dependencyresolver.setresolver(new autofacdependencyresolver(container)); 這個必須放在builder.registercontrollers(assembly.getexecutingassembly());的後面,不然會出現錯誤:沒有為該物件定義無引數的建構函式。

14、執行

三、關於autofac自動注入模式 參考: 注意:介面要繼承idependency。他的**:

四、**:

Autofac手動注入及自動注入示例

參考 一 環境 vs2012 mvc4 net framework4.5 二 過程 1 新建專案,asp.net mvc 4 web應用程式,確定,internet應用程式,確定 2 工具,庫程式包管理器,管理解決方案的nuget程式包 3 選擇聯機,右上角輸入autofac搜尋 4 安裝autof...

mysql binlog日誌自動清理及手動刪除

場景 當開啟mysql資料庫主從時,會產生大量如mysql bin.00000 log的檔案,耗費大量磁碟空間。解決方法 1.關閉mysql主從,關閉binlog 然後重啟資料庫。2.重啟mysql,開啟mysql主從,設定expire logs days 此方法需要重啟mysql。也可以直接在my...

sql盲注特點 SQL注入介紹及分類解讀

sql全稱是structured query language,是一種結構化的查詢語言,用於與資料庫進行互動並能夠被資料庫解析。sql注入攻擊是一種常見的注入攻擊型別。攻擊方式在使用者與程式進行互動時發生的。如在表單輸入 搜尋框輸入功能中插入sql命令,然後傳送到服務端。服務端對資料進行了解析執行,...