无码人妻丰满熟妇奶水区码,成年高潮网址,观看免费干B,欧美日韩深喉

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

創(chuàng)建應(yīng)用模塊HelloMode

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

編寫應(yīng)用模塊一般應(yīng)用模塊的工程目錄結(jié)構(gòu)如下圖

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

View為頁面視目錄,該目錄結(jié)構(gòu)

UI庫名語言頁面文件

deviceUI庫名語言頁面文件,其中device表示手機頁面存儲地址

如上圖的 amazeuizh-CN表示存儲中文頁面,amazeuien-us表示存儲英文頁面

對于頁面視文件.aspx選中然后在屬性里“復(fù)制到輸出目錄”選擇“始終復(fù)制”,以便在編譯完成后自動復(fù)制到輸出目錄

將編譯的模塊設(shè)置輸出到主程序XNCrmManager的目錄以便調(diào)試

如上面HelloMode,點工程屬性,然后選擇生成

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

對于Release生成到主程序XNCrmManager的JsonMode下的模塊名目錄下

對于Debug生成到主程序XNCrmManager的JsonModeDebug下的模塊名目錄下

在web.config配置

Debug版本的配置如下(紅色部分)

<probing privatePath="JsonModeDebug/前沿模塊;JsonModeDebug/ShareDll;JsonModeDebug/動態(tài)表模塊;…;JsonModeDebug/HelloMode;"

Release版本的配置如下(紅色部分)

<probing privatePath="JsonMode/前沿模塊;JsonMode/ShareDll;JsonMode/動態(tài)表模塊;…;JsonMode/HelloMode;"

然后在系統(tǒng)里添加應(yīng)用模塊

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

然后將行業(yè)應(yīng)用綁定到需要的數(shù)據(jù)庫節(jié)點上

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

然后添加應(yīng)用模塊用到的數(shù)據(jù)庫表

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

輸入表名,初始化表的生成語句

是否全局表,也就是是否每個節(jié)點的數(shù)據(jù)都一樣,一般情況數(shù)據(jù)都不一致未非全局表

至此應(yīng)用模塊的基本初始化工作基本配置完成

新建的應(yīng)用模塊工程需要引用必要框架庫如下

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

IJsonModeEngine IXNDBEngine JsonMode MicroJson XNCache XNDBEngine XNCoreNodeDBEngine

引入庫位于lib下的$(Configuration)目錄下

實際工程會根據(jù)編譯的Release還是Debug版本去使用lib的Release或Debug下相應(yīng)文件

記得將所有引用的框架dll文件屬性下的復(fù)制到本地設(shè)置為false

WeiXinFactory,WeiXinPay 位于JsonModeshareDll下

代碼必using空間

using XNWebEngine.JsonBase;

using XNWebEngine;

using XNWebEngine.XNDBEngine;

using WeiXinFactory;

應(yīng)用模塊類的代碼實現(xiàn),應(yīng)用模塊可調(diào)用的框架函數(shù)見

public partial class HelloMode : BaseJsonMode

初始模塊函數(shù)

static public void SetJsonMode(string sPath, string sName)

{

//完成應(yīng)用模塊基本初始化工作

}

關(guān)于應(yīng)用模塊函數(shù)的屬性:

[ModeMethod("{CanNoLogin:true,CanEnable:true}")]

static public ReturnJson index(HttpContext ctx, Object m_Parame)

紅色部分為函數(shù)說明

CanNoLogin:當(dāng)true時表示該函數(shù)可未到登錄調(diào)用,為false時表示必須登錄調(diào)用默認為false

CanEnable:當(dāng)true時表示該函數(shù)啟用,為false時表示該函數(shù)禁止調(diào)用,默認為true

CanPost:當(dāng)true時表示該函數(shù)可Post方式啟用,為false時表示該函數(shù)禁止Post方式調(diào)用,默認為true

CanGet:當(dāng)true時表示該函數(shù)可Get方式調(diào)用,為false時表示該函數(shù)禁止Get方式調(diào)用,默認為true

CanThird:當(dāng)true時表示該函數(shù)可第三方調(diào)用,為false時表示該函數(shù)禁止第三方調(diào)用,默認為false

CanClient:當(dāng)true時表示該函數(shù)可瀏覽器調(diào)用,為false時表示該函數(shù)禁止瀏覽器調(diào)用,默認為true

CanP2P:當(dāng)true時表示該函數(shù)可其他服務(wù)調(diào)用,為false時表示該函數(shù)禁止其他服務(wù)調(diào)用,默認為true

CanCrossDomain:當(dāng)true時表示該函數(shù)可跨域調(diào)用,為false時表示該函數(shù)禁止跨域調(diào)用,默認為false

isAppFunction:當(dāng)true時表示該函數(shù)可App調(diào)用,為false時表示該函數(shù)禁止App調(diào)用,默認為false

isEncFunction:當(dāng)true時表示該函數(shù)可P2P加密調(diào)用,為false時表示該函數(shù)禁止P2P加密調(diào)用,默認為false

關(guān)于函數(shù)的分權(quán),根據(jù)實際使用中經(jīng)常會用到角色對各功能有不同的調(diào)用權(quán)限,該框架的應(yīng)用模塊采用五級分權(quán)模式,為方便權(quán)限配置和分權(quán)函數(shù)編寫,特定義不同權(quán)限函數(shù)采用不同的函數(shù)后綴

超級管理權(quán)限 函數(shù)后綴為_Any

行業(yè)代理權(quán)限 函數(shù)后綴為_HY

企業(yè)管理權(quán)限 函數(shù)后綴為_Company

企業(yè)部門權(quán)限 函數(shù)后綴為_Org

個人權(quán)限 函數(shù)后綴為_Person

特別注意所有外部調(diào)用的應(yīng)用模塊函數(shù)都是靜態(tài)函數(shù)

編寫一個分權(quán)函數(shù)例子如下如有個函數(shù)為Hello有五個分權(quán),那么我們編寫如下

static public ReturnJson Hello(HttpContext ctx,Object m_Parame)

{

ReturnJson m_ReturnJson=new ReturnJson();

try

{

if(HavePower(ctx,"HelloMode","Hello_Any",true).bOK)

{

return Hello_Any(ctx,m_Parame);

}

else

{

if(HavePower(ctx,"HelloMode","Hello_HY",true).bOK)

{

return Hello_HY(ctx,m_Parame);

}

else

{

if(HavePower(ctx,"HelloMode","Hello_Company",true).bOK)

{

return Hello_Company(ctx,m_Parame);

}

else

{

if(HavePower(ctx,"HelloMode","Hello_Any",true).bOK)

{

return Hello_Any(ctx,m_Parame);

}

else

{

if(HavePower(ctx,"HelloMode","Hello_Org",true).bOK)

{

return Hello_Org(ctx,m_Parame);

}

else

{

if(HavePower(ctx,"HelloMode","Hello_Person",true).bOK)

{

return Hello_Personctx,m_Parame);

}

else

{

}

}

}

}

}

}

}

catch(Exception e)

{

m_ReturnJson.bOK=false;

m_ReturnJson.sMsg="執(zhí)行異常";

}

return m_ReturnJson;

}

//各權(quán)限實現(xiàn)函數(shù)

//超級權(quán)限

static public ReturnJson Hello_Any(HttpContext ctx,Object m_Parame)

{

ReturnJson m_ReturnJson=new ReturnJson();

try

{

Hashtable m_HH = new Hashtable();

JsonHelper.OBJToHashTable(m_Parame, m_HH);//獲得參數(shù)

//后續(xù)處理

}

catch

{

m_ReturnJson.bOK=false;

m_ReturnJson.sMsg="調(diào)用異常";

}

return m_ReturnJson;

}

//代理和超級代理權(quán)限

static public ReturnJson Hello_HY(HttpContext ctx,Object m_Parame)

{

ReturnJson m_ReturnJson=new ReturnJson();

try

{

if(HavePower(ctx,"CoreSYS.SYS","IsHYAdministrator",true).bOK)

{

//如是超級代理

return Hello_Any(ctx,m_Parame);

}

Hashtable m_HH = new Hashtable();

JsonHelper.OBJToHashTable(m_Parame, m_HH);//獲得參數(shù)

//后續(xù)處理獲得登錄信息,判斷該用戶是否歸宿權(quán)限范圍

SessionLink m_SessionLink=GetSessionLink(ctx);

//判斷操作數(shù)據(jù)是否為代理企業(yè)

。。。

}

catch

{

m_ReturnJson.bOK=false;

m_ReturnJson.sMsg="調(diào)用異常";

}

return m_ReturnJson;

}

//企業(yè)權(quán)限

static public ReturnJson Hello_Company(HttpContext ctx,Object m_Parame)

{

ReturnJson m_ReturnJson=new ReturnJson();

try

{

Hashtable m_HH = new Hashtable();

JsonHelper.OBJToHashTable(m_Parame, m_HH);//獲得參數(shù)

//后續(xù)處理獲得登錄信息,判斷該用戶是否歸宿權(quán)限范圍

SessionLink m_SessionLink=GetSessionLink(ctx);

//判斷操作數(shù)據(jù)是否為用戶企業(yè)

。。。

}

catch

{

m_ReturnJson.bOK=false;

m_ReturnJson.sMsg="調(diào)用異常";

}

return m_ReturnJson;

}

//部門權(quán)限

static public ReturnJson Hello_Org(HttpContext ctx,Object m_Parame)

{

ReturnJson m_ReturnJson=new ReturnJson();

try

{

Hashtable m_HH = new Hashtable();

JsonHelper.OBJToHashTable(m_Parame, m_HH);//獲得參數(shù)

//后續(xù)處理獲得的登錄信息,判斷該用戶是否歸屬權(quán)限范圍

SessionLink m_SessionLink=GetSessionLink(ctx);

//判斷操作數(shù)據(jù)是否為用戶部門

}

catch

{

m_ReturnJson.bOK=false;

m_ReturnJson.sMsg="調(diào)用異常";

}

return m_ReturnJson;

}

//個人權(quán)限

static public ReturnJson Hello_Person(HttpContext ctx,Object m_Parame)

{

ReturnJson m_ReturnJson=new ReturnJson();

try

{

Hashtable m_HH = new Hashtable();

JsonHelper.OBJToHashTable(m_Parame, m_HH);//獲得參數(shù)

//后續(xù)處理獲得的登錄信息,判斷該用戶是否歸屬權(quán)限范圍

SessionLink m_SessionLink=GetSessionLink(ctx);

//判斷操作數(shù)據(jù)是否為該用戶數(shù)據(jù)

}

catch

{

m_ReturnJson.bOK=false;

m_ReturnJson.sMsg="調(diào)用異常";

}

return m_ReturnJson;

}

對于分權(quán)函數(shù)可能有讀者認為直接調(diào)用Hello_Any不就繞過了權(quán)限判斷嗎,在前面章節(jié)里已經(jīng)介紹,框架在反射調(diào)用函數(shù)時會判斷是否對該函數(shù)有執(zhí)行權(quán)限,

關(guān)于函數(shù)執(zhí)行權(quán)限的配置,首先通過后臺配置行業(yè)應(yīng)用模塊權(quán)限,然后對行業(yè)應(yīng)用模塊的函數(shù)執(zhí)行權(quán)限進行配置,見下圖

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

選中應(yīng)用行業(yè)進行綁定或解綁

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

對行業(yè)應(yīng)用函數(shù)進行權(quán)限配置

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

對權(quán)限進行具體配置

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

選中要配置的行業(yè),然后可批量配置超級權(quán)限,行業(yè)權(quán)限,企業(yè)權(quán)限,部門權(quán)限,個人權(quán)限,也可但多配置,勾選表示禁用

也可以配置時間范圍調(diào)用或調(diào)用次數(shù)限制配置

為便于快速生成應(yīng)用模塊本框架還編寫一個代碼工廠應(yīng)用模塊方便生成新的應(yīng)用模塊

ASP.NET原創(chuàng)框架九-應(yīng)用模塊開發(fā)(asp.net web開發(fā)框架簡介)

按提示輸入相應(yīng)信息生成應(yīng)用模塊代碼框架

下集將繼續(xù)介紹應(yīng)用模塊編寫

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2023年4月24日 下午3:12
下一篇 2023年4月24日 下午3:28

相關(guān)推薦

  • 協(xié)同辦公的好處

    協(xié)同辦公的好處 在現(xiàn)代社會中,協(xié)同辦公已經(jīng)成為了組織管理中不可或缺的一部分。協(xié)同辦公是指多個團隊成員在共同的平臺上協(xié)作完成工作,以實現(xiàn)共同的目標(biāo)。在協(xié)同辦公中,團隊成員可以通過各種…

    科研百科 2024年9月19日
    2
  • 施工進度管理ppt

    施工進度管理PPT 隨著建筑行業(yè)的快速發(fā)展,施工進度管理變得越來越重要。施工進度管理不僅可以保證項目按時完成,還可以提高項目的質(zhì)量,降低風(fēng)險,縮短施工周期。本文將介紹如何通過PPT…

    科研百科 2025年1月9日
    2
  • 高校項目預(yù)算管理系統(tǒng)

    高校項目預(yù)算管理系統(tǒng) 隨著現(xiàn)代高校項目的不斷發(fā)展,預(yù)算管理已經(jīng)成為了項目成功的關(guān)鍵因素之一。而高校項目預(yù)算管理系統(tǒng)則是實現(xiàn)預(yù)算管理的一種重要工具。本文將介紹高校項目預(yù)算管理系統(tǒng)的概…

    科研百科 2025年6月14日
    0
  • 吉林省教育廳科學(xué)研究項目(吉林省教育廳科研項目名稱)

    吉林省教育廳科研項目名稱: 構(gòu)建基于大數(shù)據(jù)分析的高校學(xué)生誠信管理系統(tǒng) 摘要: 隨著經(jīng)濟的發(fā)展和社會的進步,高校學(xué)生誠信管理問題日益凸顯。如何構(gòu)建一個高效的、科學(xué)的、安全的高校學(xué)生誠…

    科研百科 2024年4月2日
    122
  • 企業(yè)如何客戶關(guān)系管理

    客戶關(guān)系管理是企業(yè)重要的戰(zhàn)略之一,能夠幫助企業(yè)更好地管理與客戶之間的關(guān)系,提高客戶滿意度,增加銷售額,并為企業(yè)帶來更多的競爭優(yōu)勢。 客戶關(guān)系管理包括多個方面,例如客戶跟蹤,客戶反饋…

    科研百科 2025年1月3日
    4
  • 科研項目負責(zé)人工作流程圖

    科研項目負責(zé)人工作流程圖 作為一名科研項目負責(zé)人,工作流程圖是一個非常重要的工具,可以幫助我更高效地完成工作。以下是我作為一名科研項目負責(zé)人的工作流程圖: 第一步:確定項目目標(biāo)和范…

    科研百科 2024年8月12日
    4
  • 科研結(jié)碩果!中大“三個面向”打造“國之重器”(中大國家重點實驗室)

    “白云山高,珠江水長,吾校矗立,蔚為國光。”12日,中山大學(xué)迎來95周年校慶。早上9時,中大四校園同時舉行向?qū)O中山先生獻花儀式。中山大學(xué)黨委書記陳春聲,中山大學(xué)校長羅俊等參加了儀式…

    科研百科 2024年4月14日
    77
  • 教育廳科研項目不結(jié)項后果教育廳科研項目不結(jié)項后果

    教育廳科研項目不結(jié)項后果 科研項目不結(jié)項是一項嚴重的失誤,會給學(xué)校、教師和學(xué)生帶來嚴重的后果。在教育廳,科研項目不結(jié)項會被視為一種不良記錄,會對科研項目的資助和評估產(chǎn)生不利影響。 …

    科研百科 2024年9月9日
    10
  • 項目進度管理excel模板

    項目進度管理Excel模板 隨著項目數(shù)量的增加,項目進度管理變得越來越重要。通過使用Excel模板,我們可以更輕松地跟蹤和管理項目進度。本文將介紹一種項目進度管理Excel模板,以…

    科研百科 2024年5月29日
    61
  • 考研項目管理

    考研項目管理 考研項目管理是指在考研過程中,對考研項目進行有效的管理和規(guī)劃,包括時間管理、資源管理、風(fēng)險管理、質(zhì)量管理和團隊協(xié)作等方面,以確??佳许椖磕軌虬从媱澾M行,達到預(yù)期的目標(biāo)…

    科研百科 2024年7月15日
    24
天天操天天日天天干男| 天天舔舔舔舔舔舔天天舔舔舔舔| 8050午夜一级| 麻豆视频一二三区| 蜜桃午夜在线视频| Japaneseav一区二区| 日韩欧美一区综合| 天天射天天天天天天天| 剑川县| 涩色国产一区精品二区| 婷婷网综合| 亚洲大尺度网站| 日韩精品中文字幕熟女少妇| 特黄特淫大片| 白上咲花一区二区三区| 精品久久大香蕉| 野外日少妇| 欧美性爱二区四区| 国产熟女少妇诱惑视频| ,91麻豆视频| 日韩最新av电影在线| 精品人妻在线视频综合| 欧美一级大黑吊| 日韩插干干| 加勒比AV高潮抽搐一区二区三区| 蜜桃福利在线观看视频| 亚洲av网站在线观看大全| 欧韩激情综合网| 蜜臀AV一区二区三区免费看| 欧美亚洲国产日韩欧美亚洲国产日韩 | seporn超碰| 久久艹人人干| 免费一区| 亚洲三级片网站香蕉| 在线免费看不卡av| 亚洲人体艺术高潮在线| 超碰成人在线二区| 亚洲字幕v欧美字幕| 88麻豆精产国品| 欧洲日韩免费一区二区| 欧美亚洲又黄又粗暴|