E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
面象asp.net2.0的MasterControls控件
asp.net
最近用Asp.net2.0作了一个企业门户的项目,在使用其新特性母版页(MasterPage)的时候发现有些地方不尽如人意,因此自己开发了一套新的母版控件(Keyss.MasterControls),以下是两者的优缺点对比供大家参考:
MasterPage:
优点:
当单继承时有设计时支持与asp.net2.0结合紧密。
缺点:
a.仅为页面设计,不支持控件
b.支持多重继承但,不支持隔代替换
c.不支持ContentPlaceHolder嵌套
Keyss.MasterControls:
优点:
a.同时为页面和控件设计
b.支持多重继承,支持页面母版的隔代替换
c.同时支持页面母版和控件母版的ContentPlaceHolder嵌套(替换子ContentPlaceHolder时规则为广度优先)
缺点:
无设计时支持
下面针对上面提到的mastercontrol的优点作些解释:
a.Keyss.MasterControls同时支持页面和控件母版。
支持页面母板和MasterPage是一样的,如下面两张图一个是首页,一个是内容页,他们的页头,主菜单,页尾以及网站导航区是完全一样的。
因此我为他们共同定义了一个页面模板。如下所示:
<%
@ Control Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
PageMaster.ascx.cs
"
Inherits
=
"
App_Master_PageMaster
"
%>
<%
@ Register Assembly
=
"
Keyss.WebControls
"
Namespace
=
"
Keyss.WebControls
"
TagPrefix
=
"
KSS
"
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
id
="Head1"
runat
="server"
>
<
title
></
title
>
<
meta
name
="description"
id
="searchDescription"
runat
="server"
/>
<
meta
name
="keywords"
id
="searchKeywords"
runat
="server"
/>
</
head
>
<
body
style
="text-align:center;"
>
<
form
id
="form1"
runat
="server"
>
<
table
cellspacing
="0"
cellpadding
="0"
border
="0"
style
="width: 768px"
>
<
tr
>
<
td
>
<
KSS:FlashMovie
ID
="fmBanner"
runat
="server"
Width
="768"
Height
="120"
FlashUrl
="~/App_Master/Images/Banner.swf"
/>
</
td
>
</
tr
>
<
tr
>
<
td
class
="menuBar"
>
<
asp:Repeater
ID
="MenuMain"
runat
="server"
DataSourceID
="xdsMainMenu"
>
<
HeaderTemplate
>
<
table
border
="0"
cellspacing
="0"
cellpadding
="0"
style
="height: 28px"
>
<
tr
>
</
HeaderTemplate
>
<
ItemTemplate
>
<
td
>
<
asp:HyperLink
ID
="hlMainMenu"
CssClass
="MenuMain"
NavigateUrl
='<%#Eval("url")%
>
'
runat="server">
<%
#
Eval
(
"
title
"
)
%>
</
asp:HyperLink
></
td
>
<
td
>
<
img
alt
=""
src
='<%=
this.Page.ResolveClientUrl("~/App_Master/Images/divider.gif") %
>
' />
</
td
>
</
ItemTemplate
>
<
FooterTemplate
>
</
tr
></
table
>
</
FooterTemplate
>
</
asp:Repeater
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
table
cellspacing
="0"
cellpadding
="0"
border
="0"
style
="width: 100%; background-color: White;"
>
<
tr
>
<
td
align
="center"
class
="navigationPanel"
rowspan
="3"
style
="width: 215px"
valign
="top"
>
<
KSS:ContentPlaceHolder
ID
="cphNavPanel"
runat
="server"
IsGlobal
="true"
>
</
KSS:ContentPlaceHolder
>
</
td
>
<
td
class
="siteMapBar"
>
当前位置:
<
asp:SiteMapPath
ID
="smp"
runat
="server"
>
</
asp:SiteMapPath
>
</
td
>
</
tr
>
<
tr
>
<
td
valign
="top"
style
="border-bottom: solid 1 White;"
><
KSS:ContentPlaceHolder
ID
="cphImage"
runat
="server"
IsGlobal
="true"
>
</
KSS:ContentPlaceHolder
></
td
>
</
tr
>
<
tr
>
<
td
valign
="top"
style
="border-bottom: solid 1 White; height:200px"
>
<
KSS:ContentPlaceHolder
ID
="cphMain"
runat
="server"
IsGlobal
="true"
>
<
table
cellspacing
="0"
cellpadding
="0"
border
="0"
style
="width: 100%; "
>
<
tr
>
<
td
valign
="top"
style
="border-bottom: solid 1 White; padding:5px;"
>
<
KSS:ContentPlaceHolder
ID
="cphContent"
runat
="server"
IsGlobal
="true"
>
</
KSS:ContentPlaceHolder
>
</
td
>
<
td
class
="helpPanel"
valign
="top"
style
="border-bottom: solid 1 White;"
>
<
KSS:ContentPlaceHolder
ID
="cphHelp"
runat
="server"
IsGlobal
="true"
>
</
KSS:ContentPlaceHolder
>
</
td
>
</
tr
>
</
table
>
</
KSS:ContentPlaceHolder
>
</
td
>
</
tr
>
<
tr
>
<
td
class
="navigationPanel"
valign
="bottom"
align
="center"
style
="width: 215px;"
>
</
td
>
<
td
class
="copyrightBar"
>
<%
=
OnlineContact
%>
<
br
/>
<%
=
Copyright
%>
</
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
</
table
>
<
asp:XmlDataSource
ID
="xdsMainMenu"
runat
="server"
DataFile
="~/App_Master/MainMenu.xml"
XPath
="/*/*/*"
></
asp:XmlDataSource
>
<
asp:XmlDataSource
ID
="xdsFooterMenu"
runat
="server"
DataFile
="~/App_Master/FooterMenu.xml"
XPath
="/*/*/*"
></
asp:XmlDataSource
>
</
form
>
</
body
>
</
html
>
然后针对不同的页面我只要用不同的东西替换掉页面中的内容即可。
而在上两张图中右下角(主页的常见问题解答,下载中心及销售网络和内容页的联系管理员)我也用了mastercontrol来生成深红条的panel模版。如下所示:
<%
@ Register Assembly
=
"
Keyss.WebControls
"
Namespace
=
"
Keyss.WebControls
"
TagPrefix
=
"
KSS
"
%>
<
table
cellspacing
="0"
cellpadding
="0"
width
="100%"
border
="0"
>
<
tr
>
<
td
style
="font-size: 1pt; background-color: #710D0D; height: 5px;"
>
</
td
>
</
tr
>
<
tr
>
<
td
><
KSS:ContentPlaceHolder
ID
="Main"
runat
="server"
>
<
div
style
="padding: 5px;"
>
<
span
class
="SubTitleRed"
>
<
KSS:ContentPlaceHolder
ID
="Title"
runat
="server"
>
</
KSS:ContentPlaceHolder
>
</
span
>
<
br
/>
<
KSS:ContentPlaceHolder
ID
="Content"
runat
="server"
>
</
KSS:ContentPlaceHolder
>
</
div
>
</
KSS:ContentPlaceHolder
></
td
>
</
tr
>
</
table
>
然后用不同的内容将其替换到主页和内容页中,以达到图上效果。当然这个在这用这个模板显得有些重量级了些,毕竟html代码在此列中相对简单
但针对复杂的html代码,其同样适用。
b.支持多重继承,支持页面的隔代替换
如上面提到的页面母版中,我重写了asp.net2.0中的ContentPlaceHolder使其支持IsGlobal属性,该属性用来表明,此占位符在一个请求上下文中是全局的并且ID也是唯一的,这也就意味着无论我从母板继承了多少代,都可以定位并替换此占位符。举个例子,我所有的栏目页都是从下面这个模板继承来的
<%
@ Control Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
PageArticleCategory.ascx.cs
"
Inherits
=
"
App_Master_PageArticleCategory
"
%>
<%
@ Register Assembly
=
"
Keyss.WebControls
"
Namespace
=
"
Keyss.WebControls
"
TagPrefix
=
"
KSS
"
%>
<
KSS:ContentContainer
ID
="cc1"
MasterControlFile
="~/App_Master/PageMaster.ascx"
runat
="server"
>
<
KSS:Content
ID
="c2"
ContentPlaceHolderID
="cphImage"
runat
="server"
><
KSS:Image
ID
="imgMainImage"
BorderWidth
="0"
runat
="server"
Width
="552"
/></
KSS:Content
>
<
KSS:Content
ID
="c3"
ContentPlaceHolderID
="cphContent"
runat
="server"
>
<
span
class
="SubTitleRed"
>
<%
=
this.ArticleCategory.Title
%>
</
span
><
br
/>
<%
=
this.ArticleCategory.Content
%>
</
KSS:Content
>
</
KSS:ContentContainer
>
而这个模板又是从上面的PageMaster继承过来的,这个模板并没有作什么工作,只是每个栏目页都显示一个图片,显示一段文章内容,这样的话,我就可以在后台在统一的位置维护这些图片如下图所示:
但真正的栏目页不可能是千篇一律的,比方说,在登录的时候右下角要显示登录帮助,而在关于我们的右下角要显示联系管理员,这个contentplaceholder是在pagemaster中定义的,在pagearticlecategory中我并没有替换这个contentplaceholder,这些是在最终的页面中替换的。因为我在当前请求的上下文中全局注册了这个contentplaceholder控件所以实现了隔代继承,由于是全局的所以通常IsGlobal仅用在页面母版的占位符中。
c.支持ContentPlaceHolder嵌套
之所以支持ContentPlaceHolder嵌套是为了尽量减少系统中母版的数量,如上面的PageMaster中的以下代码:
<
tr
>
<
td
valign
="top"
style
="border-bottom: solid 1 White; height:200px"
>
<
KSS:ContentPlaceHolder
ID
="cphMain"
runat
="server"
IsGlobal
="true"
>
<
table
cellspacing
="0"
cellpadding
="0"
border
="0"
style
="width: 100%; "
>
<
tr
>
<
td
valign
="top"
style
="border-bottom: solid 1 White; padding:5px;"
>
<
KSS:ContentPlaceHolder
ID
="cphContent"
runat
="server"
IsGlobal
="true"
>
</
KSS:ContentPlaceHolder
>
</
td
>
<
td
class
="helpPanel"
valign
="top"
style
="border-bottom: solid 1 White;"
>
<
KSS:ContentPlaceHolder
ID
="cphHelp"
runat
="server"
IsGlobal
="true"
>
</
KSS:ContentPlaceHolder
>
</
td
>
</
tr
>
</
table
>
</
KSS:ContentPlaceHolder
>
</
td
>
</
tr
>
我的cphMain这个占位符下面内含了两个占位符cphContent和cphHelp之所以这样作是因为有的时候我希望页面是三栏的,如上面的主页和内容页所示但有的时候我希望页面是两栏的如下图所示:
这样定义模板时,我只要定义一个模板,只要在替换时三栏替换cphContent和cphHelp而两栏替换cphMain就可以了。
下面是masterControl动态链接库,个人用户可以免费无限制使用。
/Files/keyss/Keyss.MasterControl.rar
,另外你也可以到我的
个人网站
上体验上面的示例。
你可能感兴趣的:(asp.net)
分享一个基于python的电子书数据采集与可视化分析 hadoop电子书数据分析与推荐系统 spark大数据毕设项目(源码、调试、LW、开题、PPT)
计算机源码社
Python项目
大数据
大数据
python
hadoop
计算机毕业设计选题
计算机毕业设计源码
数据分析
spark毕设
作者:计算机源码社个人简介:本人八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!学习资料、程序开发、技术解答、文档报告如需要源码,可以扫取文章下方二维码联系咨询Java项目微信小程序项目Android项目Python项目PHP项目ASP.NET项目Node.js项目选题推荐项目实战|p
通过C# 裁剪PDF页面
Eiceblue
C#
.NET
PDF
c#
pdf
开发语言
visual
studio
在处理PDF文档时,有时需要精确地裁剪页面以适应特定需求,比如去除广告、背景信息或者仅仅是为了简化文档内容。本文将指导如何使用免费.NET控件通过C#实现裁剪PDF页面。免费库FreeSpire.PDFfor.NET支持在.NET(C#,VB.NET,ASP.NET,.NETCore)程序中实现创建、操作、转换和打印PDF文档等操作。可以从以下链接下载产品包后手动添加引用,或者直接通过NuGet安
asp.net core的入门教学
21软件外包1班-庞兴南
asp.net
后端
什么是ASP.NETCoreasp.netcore是一个基于HTML和ASP的动态Web开发框架,主要用于web应用程序的开发。它是一个轻量级框架,使用HTML、ASP、CSS、JavaScript等技术。它易于使用和部署,可以快速构建web应用程序。asp.netcore提供了丰富的功能,包括模板引擎、文件解析、数据处理和用户管理等。本文将介绍asp.netcore的主要功能和特点,并提供使用方
6.1 ASP.NET Core Web 入门
步、步、为营
.Net
Core
asp.net
mvc
6.1ASP.NETCoreWeb入门ASP.NETCore中,严格来讲只有一个Asp.netCoreMVC一个框架,Asp.netCoreMVC既支持基于视图的MVC开发,也支持WebAPI和RazorPages开发。ASP.NETCoreMVC项目在VS2022中,一定选择ASP.NETCoreWeb应用(模型-视图-控制器)项目模板项目中wwwroot文件夹包含图片、JS、CSS等静态文件,
asp.net core 8.0 使用 Autofac ioc 容器 具体实例
彭小彭~
.net
core
asp.net
要在ASP.NETCore8.0项目中具体实现使用Autofac作为IOC容器,我们将遵循一个明确的示例,从创建新项目到配置Autofac,并演示如何注册和解析服务。步骤1:创建ASP.NETCore8.0项目首先,使用VisualStudio或命令行工具创建一个新的ASP.NETCoreWeb应用程序。如果使用命令行,可以运行以下命令:dotnetnewwebapp-nAutofacDemocd
探索ASP.NET Core 8.0的奇妙世界
郎凌队Lois
探索ASP.NETCore8.0的奇妙世界practical-aspnetcore该项目提供了关于ASP.NETCore实际应用开发的一系列教程和示例,涵盖了从基础知识到高级主题,是一个实用的学习资源库。适合于想要掌握ASP.NETCore技术栈的开发者进行学习和参考。项目地址:https://gitcode.com/gh_mirrors/pr/practical-aspnetcore随着微软的A
探索未来Web开发的精简之道:ASP.NET Core 8.0 Minimal API 示例项目
尚舰舸Elsie
探索未来Web开发的精简之道:ASP.NETCore8.0MinimalAPI示例项目随着微服务和云原生架构的兴起,轻量级API成为了开发社区的新宠。ASP.NETCore8.0MinimalAPIExample正是这样一个项目,它集成了最新技术栈,简化了API开发过程,让开发者能够以最少的代码实现强大的功能。本文将带你深入了解这一开源杰作,揭示其技术魅力,并探索其应用场景。项目介绍ASP.NET
ASP.NET Core 入门教学二十八 linux打包部署
充值内卷
asp.net
linux
后端
在Linux上打包和部署ASP.NETCore应用程序涉及几个步骤。以下是一个详细的指南,帮助你在Linux系统上完成这一过程。1.准备工作确保你的Linux系统已经安装了以下软件:.NETSDK(用于构建应用程序).NETRuntime(用于运行应用程序)Apache或Nginx(作为反向代理服务器)你可以使用以下命令安装.NETSDK和Runtime:sudoaptupdatesudoapti
前后端分离,Asp.net core webapi 如何配置跨域
代码掌控者
C#
asp.net
core
.net
core
经验分享
c#
前言可以说,前后端分离已经成为当今信息系统项目开发的主流软件架构模式,微服务的出现,让前后端分离发展更是迅速,大量优秀的前端框架如vue.js、react的出现,也让前后端分离趋势加快。所谓的前后端分离软件架构模式,就是指将前端和后端的开发完全分离,后端负责提供API接口和数据处理,而前端通过各种现代的JavaScript技术如AJAX或者Fetch等,来调用后端提供的API接口获取数据,从而构建
探索现代Web API开发的典范:Asp.Net Core Web API N-Tier项目
苏舰孝Noel
探索现代WebAPI开发的典范:Asp.NetCoreWebAPIN-Tier项目aspnetcore.ntier.NETCoreN-TierarchitectureWebApisampleproject.项目地址:https://gitcode.com/gh_mirrors/as/aspnetcore.ntier在寻求高效、可扩展且遵循最佳实践的API开发框架时,Asp.NetCoreWebAP
推荐:ASP.NET Core Web API 模板 —— 强大的启动项目!
戴洵珠Gerald
推荐:ASP.NETCoreWebAPI模板——强大的启动项目!aspnetcore-webapi-templateThisprojectisanWebAPIOpen-SourceBoilerplateTemplatethatincludesASP.NETCore5,WebAPIstandards,cleann-tierarchitecture,GraphQLservice,Redis,Mssql
ASP.NET Core N-Tier架构Web API示例项目教程
毛宝锋
ASP.NETCoreN-Tier架构WebAPI示例项目教程aspnetcore.ntier.NETCoreN-TierarchitectureWebApisampleproject.项目地址:https://gitcode.com/gh_mirrors/as/aspnetcore.ntier本教程旨在指导您了解并使用从https://github.com/aghayeffemin/aspnet
Whisper 模型在实时语音转录中有哪些具体的应用场景?
借雨醉东风
热点追踪
whisper
人工智能
关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可接项目赚外快,绝对划算。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富
asp.net core 自定义过滤器 注入的几种方式和实现
彭小彭~
.net
core
.net
core
在ASP.NETCore中,过滤器(Filters)是一种在MVC应用程序中运行代码的方法,可以在操作(Actions)执行之前或之后运行。过滤器可以应用于控制器(Controllers)或特定的操作方法。过滤器可以用来实现跨切面的逻辑,比如异常处理、授权、缓存、日志等。有几种类型的过滤器:授权过滤器(Authorizationfilters)资源过滤器(Resourcefilters)操作过滤器
【.NET全栈】ASP.NET开发Web应用——ADO.NET数据访问技术
JosieBook
#
.NET全栈
.net
asp.net
前端
文章目录前言一、ADO.NET基础1、ADO.NET架构2、ADO.NET数据提供者二、连接数据库1、SqlConnection数据库连接类2、使用SqlConnectionStringBuilder连接字符串3、关闭和释放连接4、在web.config配置文件中保存连接字符串5、连接池技术三、与数据库交互1、使用SqlCommand操作数据库2、为SqlCommand传递参数3、使用SqlCom
ASP.NET中Response.Redirect的用法(详细)
微微的猪食小窝
asp.net
服务器
java
一、Response.Redirect是重定向到新的url。例如:if(!IsPostBack){if(Session["UserId"]==null||Session["UserId"].ToString()==""){Response.Redirect(Oper.GetSysUrl()+"/Default.aspx");//转到主页}******//其他实现代码}二、若想传递参数,只要在url
【.NET全栈】ASP.NET开发Web应用——LINQ技术
JosieBook
#
.NET全栈
.net
asp.net
linq
文章目录一、LINQ基础1、LINQ简介2、延迟执行3、LINQ表达式简介1、基本查询语法2、投影新对象3、过滤和排序4、分组和聚合5、联合查询二、LINQtoDataSet操作内存表1、LINQtoDataSet简介2、类型化DataSet三、LINQtoSQL操作数据库1、数据实体类2、DataContext类介绍3、在ASP.NET中应用LINQtoSQL4、自动生成数据实体类5、生成存储过
ASP.NET Core 开源项目详解与入门指南
沈菱嫱Marie
ASP.NETCore开源项目详解与入门指南aspnetcoredotnet/aspnetcore:是一个ASP.NETCore应用程序开发框架的官方GitHub仓库,它包含了ASP.NETCore的核心源代码和技术文档。适合用于ASP.NETCore应用程序开发,特别是对于那些需要深入了解ASP.NETCore框架实现和技术的场景。特点是ASP.NETCore官方仓库、核心源代码、技术文档。项目
ASP.NET Core 入门教学二十一 分布式追踪技术
充值内卷
asp.net
分布式
分布式追踪技术在微服务架构中非常重要,它可以帮助开发者理解和监控应用程序在分布式环境中的行为。ASP.NETCore提供了对分布式追踪的原生支持,主要通过OpenTelemetry和ApplicationInsights实现。1.OpenTelemetryOpenTelemetry是一个开源的观测框架,用于生成、收集和导出遥测数据(如追踪、指标和日志)。ASP.NETCore可以通过集成OpenT
Asp.Net 汉字转(拼音)
素年槿夏
C#
1.ChinesConvertSpelling:汉字转拼音类(全拼)1usingSystem;2usingSystem.Data;3usingSystem.Configuration;4usingSystem.Text;56///7///SummarydescriptionforConvertHzToPz_Gb23128///9namespaceCommon10{11publicclassChin
ASP.NET Core消息队列RabbitMQ基础入门实战演练
阿笨NET
跟着阿笨一起玩NET
ASP.NET
Core
ASP.NET
Core消息队列
ASP.NET
Core
RabbitMQ
.NET
Core视频教程
ASP.NET
Core视频课程
一、课程介绍人生苦短,我用.NETCore!消息队列RabbitMQ大家相比都不陌生,本次分享课程阿笨将给大家分享一下在一般项目中99%都会用到的消息队列MQ的一个实战业务运用场景。本次分享课程不是零基础教学,课程内容的侧重点是讲解的RabbitMQ的最实用、最简单的实战运用场景:Publish/Subscrib(发布/订阅)模式,发送端发送消息,单个接收端接收处理消息。学完本次"是猴子都看的懂的
ASP.NET Core 入门教学十五 异步编程
充值内卷
asp.net
后端
在ASP.NETCore中,异步编程是一种非常重要的技术,它可以提高应用程序的性能和响应能力。本教程将介绍如何在ASP.NETCore中使用异步编程。1.异步编程基础异步编程允许程序在等待某些操作(如I/O操作)完成时继续执行其他任务,而不是阻塞整个线程。这可以显著提高应用程序的性能,特别是在处理大量并发请求时。2.使用async和await在C#中,async和await关键字用于实现异步编程。
ASP.NET Core 入门教学十六 防止常见的Web攻击
充值内卷
asp.net
前端
后端
在ASP.NETCore中,防止常见的Web攻击是非常重要的,以确保应用程序的安全性。以下是一些常见的Web攻击类型及其防范措施:1.跨站脚本攻击(XSS)跨站脚本攻击(XSS)是一种通过在网页中注入恶意脚本来攻击用户的浏览器的技术。为了防止XSS攻击,可以采取以下措施:输入验证:对用户输入进行严格的验证和清理。输出编码:在将用户输入的数据插入到HTML页面中时,进行适当的编码。ASP.NETCo
ASP.NET Core 入门教学八 集成RocketMQ消息队列
充值内卷
asp.net
rocketmq
后端
在ASP.NETCore中集成RocketMQ消息队列,你需要遵循以下步骤:1.安装RocketMQ客户端库首先,你需要在你的ASP.NETCore项目中安装RocketMQ的.NET客户端库。你可以使用NuGet包管理器来完成这个任务。在VisualStudio中,右键点击你的项目,选择“管理NuGet程序包”,然后搜索并安装Apache.RocketMQ.Client包。2.配置RocketM
分享一个基于微信小程序的智慧校园服务平台(源码、调试、LW、开题、PPT)
计算机源码社
微信小程序
微信小程序
毕业设计项目
计算机毕设源码
计算机毕设
毕设选题
课程设计源码
毕业设计答辩
作者:计算机源码社个人简介:本人八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!学习资料、程序开发、技术解答、文档报告如需要源码,可以扫取文章下方二维码联系咨询Java项目微信小程序项目Android项目Python项目PHP项目ASP.NET项目Node.js项目选题推荐项目实战|基
ASP.NET 整页缓存技术
lploveme
asp.net
浏览器
browser
引擎
vb.net
html
在网上找了好久的整页缓存技术今天终于可以解决我的问题我要求是这样的有AB两个客服机同时访问一个页面信息得到的应该都是缓存以后的信息而不是A得到的是缓存而B不是缓存信息今天找到了好的方式特意贴出来让我常常看整页输出缓存这是一篇很不错的文章来源是http://softbbs.pconline.com.cn/9740011.html要提升ASP.NET应用程序的性能,最简单、最有效的方式就是使用内建的缓
ASP.NET Core 微服务初探[1]:服务发现之Consul
weixin_34015336
运维
ui
数据结构与算法
在传统单体架构中,由于应用动态性不强,不会频繁的更新和发布,也不会进行自动伸缩,我们通常将所有的服务地址都直接写在项目的配置文件中,发生变化时,手动改一下配置文件,也不会觉得有什么问题。但是在微服务模式下,服务会更细的拆分解耦,微服务会被频繁的更新和发布,根据负载情况进行动态伸缩,以及受资源调度影响而从一台服务器迁移到另一台服务器等等。总而言之,在微服务架构中,微服务实例的网络位置变化是一种常态,
我眼中的ASP.NET Core之微服务
dotNET跨平台
前言前几天在博客园看到有园友在分享关于微软的一个微服务架构的示例程序,想必大家都已经知道了,那就是eShopOnContainers。我们先不看项目的后缀名称OnXXX,因为除了OnContainers还有OnAzure,OnWeb,OnKubernetes以及OnServiceFabric。我们就还是来先说说eShop这个项目吧,eShop是ASP.NETCore发布之后微软新开源出来的一个示例
asp.net core 微服务架构搭建
战族狼魂
微服务
架构
asp.net
微服务
在ASP.NETCore中实现微服务架构涉及多个步骤,包括服务划分、API网关、服务发现、通信方式、容器化等。以下是一个基本的微服务架构搭建指南。目录1.服务划分2.创建独立的ASP.NETCore服务3.设置API网关4.服务发现5.通信方式6.容器化7.总结1.服务划分首先,需要将你的应用程序划分成多个独立的服务,每个服务专注于单一职责。每个服务都应该是独立的,能够独立开发、部署和扩展。2.创
2024年计算机毕业设计2000个热门选题推荐之NodeJS篇——全行业Java项目定制asp.net代做Python安卓NodeJS等
itszkt计算机项目源代码
项目选题
课程设计
java
开发语言
✌精彩专栏推荐订阅以防找不到✌项目界面文字不会改?项目代码不懂?怕老师问?项目没有软件?不会运行?✌选题—项目修改教程—答疑—远程,为客户提供帮助和支持,努力解决问题和推动项目进展✌✌✌选题推荐——以防找不到我们,点击上方订阅专栏✌✌2024年计算机JavaPython安卓APP微信小程序asp.net项目PHP2000+热门选题推荐计算机毕业设计如何选题?计算机毕业设计开题报告如何书写论文的书写
github中多个平台共存
jackyrong
github
在个人电脑上,如何分别链接比如oschina,github等库呢,一般教程之列的,默认 ssh链接一个托管的而已,下面讲解如何放两个文件 1) 设置用户名和邮件地址 $ git config --global user.name "xx" $ git config --global user.email "
[email protected]
"
ip地址与整数的相互转换(javascript)
alxw4616
JavaScript
//IP转成整型 function ip2int(ip){ var num = 0; ip = ip.split("."); num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]); n
读书笔记-jquey+数据库+css
chengxuyuancsdn
html
jquery
oracle
1、grouping ,group by rollup, GROUP BY GROUPING SETS区别 2、$("#totalTable tbody>tr td:nth-child(" + i + ")").css({"width":tdWidth, "margin":"0px", &q
javaSE javaEE javaME == API下载
Array_06
java
oracle下载各种API文档: http://www.oracle.com/technetwork/java/embedded/javame/embed-me/documentation/javame-embedded-apis-2181154.html JavaSE文档: http://docs.oracle.com/javase/8/docs/api/ JavaEE文档: ht
shiro入门学习
cugfy
java
Web
框架
声明本文只适合初学者,本人也是刚接触而已,经过一段时间的研究小有收获,特来分享下希望和大家互相交流学习。 首先配置我们的web.xml代码如下,固定格式,记死就成 <filter> <filter-name>shiroFilter</filter-name> &nbs
Array添加删除方法
357029540
js
刚才做项目前台删除数组的固定下标值时,删除得不是很完整,所以在网上查了下,发现一个不错的方法,也提供给需要的同学。 //给数组添加删除 Array.prototype.del = function(n){
navigation bar 更改颜色
张亚雄
IO
今天郁闷了一下午,就因为objective-c默认语言是英文,我写的中文全是一些乱七八糟的样子,到不是乱码,但是,前两个自字是粗体,后两个字正常体,这可郁闷死我了,问了问大牛,人家告诉我说更改一下字体就好啦,比如改成黑体,哇塞,茅塞顿开。 翻书看,发现,书上有介绍怎么更改表格中文字字体的,代码如下  
unicode转换成中文
adminjun
unicode
编码转换
在Java程序中总会出现\u6b22\u8fce\u63d0\u4ea4\u5fae\u535a\u641c\u7d22\u4f7f\u7528\u53cd\u9988\uff0c\u8bf7\u76f4\u63a5这个的字符,这是unicode编码,使用时有时候不会自动转换成中文就需要自己转换了使用下面的方法转换一下即可。 /** * unicode 转换成 中文
一站式 Java Web 框架 firefly
aijuans
Java Web
Firefly是一个高性能一站式Web框架。 涵盖了web开发的主要技术栈。 包含Template engine、IOC、MVC framework、HTTP Server、Common tools、Log、Json parser等模块。 firefly-2.0_07修复了模版压缩对javascript单行注释的影响,并新增了自定义错误页面功能。 更新日志: 增加自定义系统错误页面功能
设计模式——单例模式
ayaoxinchao
设计模式
定义 Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。” 分析 从定义中可以看出单例的要点有三个:一是某个类只能有一个实例;二是必须自行创建这个实例;三是必须自行向系统提供这个实例。 &nb
Javascript 多浏览器兼容性问题及解决方案
BigBird2012
JavaScript
不论是网站应用还是学习js,大家很注重ie与firefox等浏览器的兼容性问题,毕竟这两中浏览器是占了绝大多数。 一、document.formName.item(”itemName”) 问题 问题说明:IE下,可以使用 document.formName.item(”itemName”) 或 document.formName.elements ["elementName&quo
JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
bijian1013
junit4.11
单元测试
下载了最新的JUnit版本,是4.11,结果尝试使用发现总是报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing这样的错误,上网查了一下,一般的解决方案是,换一个低一点的版本就好了。还有人说,是缺少hamcrest的包。去官网看了一下,如下发现:
[Zookeeper学习笔记之二]Zookeeper部署脚本
bit1129
zookeeper
Zookeeper伪分布式安装脚本(此脚本在一台机器上创建Zookeeper三个进程,即创建具有三个节点的Zookeeper集群。这个脚本和zookeeper的tar包放在同一个目录下,脚本中指定的名字是zookeeper的3.4.6版本,需要根据实际情况修改): #!/bin/bash #!!!Change the name!!! #The zookeepe
【Spark八十】Spark RDD API二
bit1129
spark
coGroup package spark.examples.rddapi import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.SparkContext._ object CoGroupTest_05 { def main(args: Array[String]) { v
Linux中编译apache服务器modules文件夹缺少模块(.so)的问题
ronin47
modules
在modules目录中只有httpd.exp,那些so文件呢? 我尝试在fedora core 3中安装apache 2. 当我解压了apache 2.0.54后使用configure工具并且加入了 --enable-so 或者 --enable-modules=so (两个我都试过了) 去make并且make install了。我希望在/apache2/modules/目录里有各种模块,
Java基础-克隆
BrokenDreams
java基础
Java中怎么拷贝一个对象呢?可以通过调用这个对象类型的构造器构造一个新对象,然后将要拷贝对象的属性设置到新对象里面。Java中也有另一种不通过构造器来拷贝对象的方式,这种方式称为 克隆。 Java提供了java.lang.
读《研磨设计模式》-代码笔记-适配器模式-Adapter
bylijinnan
java
设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 适配器模式解决的主要问题是,现有的方法接口与客户要求的方法接口不一致 * 可以这样想,我们要写这样一个类(Adapter): * 1.这个类要符合客户的要求 ---> 那显然要
HDR图像PS教程集锦&心得
cherishLC
PS
HDR是指高动态范围的图像,主要原理为提高图像的局部对比度。 软件有photomatix和nik hdr efex。 一、教程 叶明在知乎上的回答: http://www.zhihu.com/question/27418267/answer/37317792 大意是修完后直方图最好是等值直方图,方法是HDR软件调一遍,再结合不透明度和蒙版细调。 二、心得 1、去除阴影部分的
maven-3.3.3 mvn archetype 列表
crabdave
ArcheType
maven-3.3.3 mvn archetype 列表 可以参考最新的:http://repo1.maven.org/maven2/archetype-catalog.xml [INFO] Scanning for projects... [INFO]
linux shell 中文件编码查看及转换方法
daizj
shell
中文乱码
vim
文件编码
一、查看文件编码。 在打开文件的时候输入:set fileencoding 即可显示文件编码格式。 二、文件编码转换 1、在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 &
MySQL--binlog日志恢复数据
dcj3sjt126com
binlog
恢复数据的重要命令如下 mysql> flush logs; 默认的日志是mysql-bin.000001,现在刷新了重新开启一个就多了一个mysql-bin.000002
数据库中数据表数据迁移方法
dcj3sjt126com
sql
刚开始想想好像挺麻烦的,后来找到一种方法了,就SQL中的 INSERT 语句,不过内容是现从另外的表中查出来的,其实就是 MySQL中INSERT INTO SELECT的使用 下面看看如何使用 语法:MySQL中INSERT INTO SELECT的使用 1. 语法介绍 有三张表a、b、c,现在需要从表b
Java反转字符串
dyy_gusi
java
反转字符串
前几天看见一篇文章,说使用Java能用几种方式反转一个字符串。首先要明白什么叫反转字符串,就是将一个字符串到过来啦,比如"倒过来念的是小狗"反转过来就是”狗小是的念来过倒“。接下来就把自己能想到的所有方式记录下来了。 1、第一个念头就是直接使用String类的反转方法,对不起,这样是不行的,因为Stri
UI设计中我们为什么需要设计动效
gcq511120594
UI
linux
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。 但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。 一、加强体验舒适度 嗯,就是让用户更加爽更加爽的用
JBOSS服务部署端口冲突问题
HogwartsRow
java
应用服务器
jboss
server
EJB3
服务端口冲突问题的解决方法,一般修改如下三个文件中的部分端口就可以了。 1、jboss5/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2、./server/default/deploy/jbossweb.sar/server.xml 3、.
第三章 Redis/SSDB+Twemproxy安装与使用
jinnianshilongnian
ssdb
reids
twemproxy
目前对于互联网公司不使用Redis的很少,Redis不仅仅可以作为key-value缓存,而且提供了丰富的数据结果如set、list、map等,可以实现很多复杂的功能;但是Redis本身主要用作内存缓存,不适合做持久化存储,因此目前有如SSDB、ARDB等,还有如京东的JIMDB,它们都支持Redis协议,可以支持Redis客户端直接访问;而这些持久化存储大多数使用了如LevelDB、RocksD
ZooKeeper原理及使用
liyonghui160com
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper
程序员解决问题的60个策略
pda158
框架
工作
单元测试
根本的指导方针 1. 首先写代码的时候最好不要有缺陷。最好的修复方法就是让 bug 胎死腹中。 良好的单元测试 强制数据库约束 使用输入验证框架 避免未实现的“else”条件 在应用到主程序之前知道如何在孤立的情况下使用 日志 2. print 语句。往往额外输出个一两行将有助于隔离问题。 3. 切换至详细的日志记录。详细的日
Create the Google Play Account
sillycat
Google
Create the Google Play Account Having a Google account, pay 25$, then you get your google developer account. References: http://developer.android.com/distribute/googleplay/start.html https://p
JSP三大指令
vikingwei
jsp
JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他