context

MVC5+EF6 完整教程17--升级到EFCore2.0

喜夏-厌秋 提交于 2020-01-09 03:43:15
EF Core 2.0上周已经发布了,我们也升级到core 文章内容基于vs2017,请大家先安装好vs2017(15.3). 本篇文章主要讲下差异点,跟之前一样的就不再重复了。 文章目录(差异点): 一、新建项目, EF配置/使用 过程的变化 二、身份验证方式的变化(达到类似于原form认证效果) 三、使用原生SQL方式变化 四、读取config过程(默认取消了web.config, 改为读 json配置文件) 一、EF使用 使用EF Core新建项目时,配置过程有一些变化。 我们先新建个项目。 选择如下模板 一、安装并配置好EF 1、菜单栏选择TOOLS à NuGet Package Manager à Package Manager Console 输入:Install-Package Microsoft.EntityFrameworkCore.SqlServer 2、建一个Model作为测试数据 打开文件夹Models, 增加类SysUser 3、新建文件夹DAL,用来放置EF相关的类。 新建Context,跟之前文章的过程类似,如下图,不再细说。 4、给context增加DI (dependency injection, 依赖注入) 之前我们讲了DI的原理与实现,ASP.NET Core默认实现了DI,服务在启动时进行注册,通过构造函数的方式获取。

Entity Framework之问题收集

筅森魡賤 提交于 2020-01-09 03:38:55
From:http://blog.csdn.net/lubingda/article/details/7279678 本节讨论内容主要针对收集了上篇文章大家碰到问题的讨论解决,会持续收集扩充。 DbContext加载原值,当前值,数据库值,属性操作,对象复制,对象值复制(VO,DTO->POCO),复杂对象取值 DbContext Local Data与AsNoTracking无跟踪查询 如何提高效率 DbContext如何关闭延迟加载 DbContext如可使用延迟加载 DbContext如何控制并发 解除属性映射到数据库中 对象失去或没有被跟踪时处理 多对多关系之扩展字段字段处理 利用模板使模型继承基类 如何对象模型中使用枚举值 创建或使用代理对象 1. DbContext加载原值,当前值,数据库值,属性操作,对象复制,对象值复制(VO,DTO->POCO),复杂对象取值 View Code RoRoWoDBEntities context = new RoRoWoDBEntities(); BlogCategory cate = context.Set < BlogCategory > ().Find( 3 ); BlogArticle arti = cate.BlogArticle.ToList().Find(o => o.ArticleID == 2 );

JAX-WS + Spring 开发webservice

做~自己de王妃 提交于 2020-01-09 02:37:36
通过几天的时间研究了下使用jax-ws来开发webservice,看了网上的一些资料总结出jax-ws的开发大概分为两种。 以下项目使用的spring3.0,jar包可以到官网下载 第一种:使用独立的端口(指端口可以在spring中自定义配置)   首先说第一种方式,这种方式不需要添加额外的jar包,他使用的是JDK自带的JWS来实现的。 web.xml文件配置: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>JAXWSExample</display-name> <!-- applicationContext*.xml文件在src目录下的conf文件夹中--> <context-param> <param-name

dotnet core 中间件

依然范特西╮ 提交于 2020-01-08 23:58:21
## 官方说明 中间件是一种装配到应用管道以处理请求和响应的软件。 每个组件: 选择是否将请求传递到管道中的下一个组件。 可在管道中的下一个组件前后执行工作。 请求委托用于生成请求管道。 请求委托处理每个 HTTP 请求。 使用 RunMap 和 Use 扩展方法来配置请求委托。 可将一个单独的请求委托并行指定为匿名方法(称为并行中间件),或在可重用的类中对其进行定义。 这些可重用的类和并行匿名方法即为中间件 ,也叫中间件组件 。 请求管道中的每个中间件组件负责调用管道中的下一个组件,或使管道短路。 当中间件短路时,它被称为“终端中间件” ,因为它阻止中间件进一步处理请求。 ## 执行顺序示例图 ## 实测一下 ++新建dotnet core 3.1 web 项目++ 在 ==Startup== 的 ==Configure== 中 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.Use(async (context, next) => { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start();

Spring整合JAX-WS

你。 提交于 2020-01-08 22:39:43
  Jax-ws在使用上很方便,也很轻量级。重点是他是jvnet(dev.java.net)的项目,是基于java标准的(JSR181)。   不过它与Spring的整合相对麻烦,于此,我将自己的一些研究结果贴出来以供备忘和后来者参考。   首先我们要有组件支持,包括三部分(我们需要他们的jar包):      Spring      jax-ws      jaxws commons spring   Spring就不用说了,如果大家使用MyEclipse的话就直接添加支持。   jax-ws的jar包可以再网站上下载,或者搜索下载“jax-ws 2.2”。   jaxws commons spring的jar包是中间件,这个可能不好下载,如果不适用maven的话可能就只能在网络上搜索下载“jaxws-spring-1.8”(包含不只一个jar包哦)。      然后我们导入jar包并创建web项目。         然后编写一个测试WebService类: 1 package org.coderecord.blog; 2 3 import javax.jws.WebMethod; 4 import javax.jws.WebService; 5 import javax.jws.soap.SOAPBinding; 6 import javax.jws.soap

ASP.NET MVC 控制器

浪子不回头ぞ 提交于 2020-01-08 21:20:56
  上篇我们说到。编写控制器类的步骤可总结为两个:实现一个类,然后在该类中添加一些公有方法,在运行的该类的时候可作为控制器发现,而这些方法则作为操作被发现。 这里我们有两个细节: 1:系统如何知道实例化那个控制器 2:如何确定用那个方法。    路由: 1:被传统的路由发现,2:通过特性路由发现,3:通过混合路由策略发现, 传统路由不做过多解释。特性路由,可以让URL模版与处理请求时使用的控制器和操作保持独立,以后,即使URL进行修改,也不需要重构代码。 混合路由则时前两者一起使用,不过注意的是,特性定义的路由比传统路由的优先级更高。   POCO(plain Old C# Object) 控制器类可以是一个普通的传统C#对象。如果想被发现,要么类名带有Controller后缀,要么用Controller特性修饰该类。POCO简单来说,它能减少开销和/内存占用量。    访问HTTP上下文   POCO最大的问题是没有HTTP上下文,那么我们可以通过ActionContext来实现如: public class PocoController { [ActionController] public ActionContext Context{get;set} ...... }   操作筛选器  1:它是围绕做方法运行的一段代码,可用于修改和扩展方法本身的行为。 public

SpringBoot中的 ApplicationEvent和Listener

∥☆過路亽.° 提交于 2020-01-08 21:06:09
SpringBoot中除了常用的Spring框架事件,如ContextRefreshedEvent,一个SpingApplication类还能发布一些额外的事件; 注意:事实上一些事件通常在ApplicationContenxt创建之前被启动,所以无法在一个头部标有@Bean的方法中注册监听器。但是可以通过 SpringApplication.addListener(ApplicationListener... listeners)`或者`SpringApplicationBuilder.listeners(ApplicationListener... listeners)` 方法注册 如果你想让监听器忽略其创建方式,实现自动注册,你可以通过添加一个/META-INF/spring.factories到你的项目classpath下,并通过使用org.springframework.context.ApplicationListener 键引用你的监听器,如下所示 org.springframework.context.ApplicationListener=com.example.project.MyListener 若有多个监听器,使用逗号分隔 SpringBoot提供 6个应用事件类,当启动你的SpringBoot应用时,Spring Event将按以下顺序传递 1

SynchronizationContext笔记

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-08 20:05:22
  SynchronizationContext 类是一个基类,可提供不带同步的自由线程上下文。 此类实现的同步模型的目的是使公共语言运行库内部的异步/同步操作能够针对不同的异步模型采取正确的行为。此模型还简化了托管应用程序为在不同的同步环境下正常工作而必须遵循的一些要求。同步模型的提供程序可以扩展此类并为这些方法提供自己的实现。   简而言之就是允许一个线程和另外一个线程进行通讯,SynchronizationContext在通讯中充当传输者的角色。另外这里有个地方需要清楚的,不是每个线程都附加SynchronizationContext这个对象,只有UI线程是一直拥有的。 Current 获取当前同步上下文 var context = SynchronizationContext.Current; Send 一个同步消息调度到一个同步上下文。 SendOrPostCallback callback = o => { //TODO: }; context.Send(callback,null); send调用后会阻塞直到调用完成。 Post 将异步消息调度到一个同步上下文。 SendOrPostCallback callback = o => { //TODO: }; context.Post(callback,null); 和send的调用方法一样

如何让ELMAH使用ASP.NET MVC [HandleError]属性?

こ雲淡風輕ζ 提交于 2020-01-08 19:26:53
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我正在尝试使用ELMAH来记录我的ASP.NET MVC应用程序中的错误,但是当我在控制器上使用[HandleError]属性时,ELMAH在发生错误时不会记录任何错误。 正如我猜测它,因为ELMAH只记录未处理的错误,[HandleError]属性正在处理错误,因此无需记录它。 我如何修改或如何修改属性,以便ELMAH可以知道有错误并记录它.. 编辑: 让我确保每个人都理解,我知道我可以修改那个不是我问的问题的属性... ELMAH在使用handleerror属性时会被绕过,这意味着它不会看到有错误因为它被处理了已经由属性...我要问的是有一种方法让ELMAH看到错误并记录它即使属性处理它...我搜索周围,没有看到任何方法调用强制它来记录错误.... #1楼 现在NuGet中有一个ELMAH.MVC包,其中包括Atif的改进解决方案以及处理MVC路由中的elmah接口的控制器(不再需要使用该axd) 该解决方案(以及此处的所有解决方案)的问题在于,elmah错误处理程序实际上是以某种方式处理错误,忽略了您可能想要设置为customError标记或通过ErrorHandler或您自己的错误处理程序 最好的解决方案是IMHO创建一个过滤器,它将在所有其他过滤器的末尾起作用,并记录已经处理过的事件。

MVC5+EF6 完整教程17--升级到EFCore2.0

女生的网名这么多〃 提交于 2020-01-08 18:18:58
EF Core 2.0上周已经发布了,我们也升级到core 文章内容基于vs2017,请大家先安装好vs2017(15.3). 本篇文章主要讲下差异点,跟之前一样的就不再重复了。 文章目录(差异点): 一、新建项目, EF配置/使用 过程的变化 二、身份验证方式的变化(达到类似于原form认证效果) 三、使用原生SQL方式变化 四、读取config过程(默认取消了web.config, 改为读 json配置文件) 一、EF使用 使用EF Core新建项目时,配置过程有一些变化。 我们先新建个项目。 选择如下模板 一、安装并配置好EF 1、菜单栏选择TOOLS à NuGet Package Manager à Package Manager Console 输入:Install-Package Microsoft.EntityFrameworkCore.SqlServer 2、建一个Model作为测试数据 打开文件夹Models, 增加类SysUser 3、新建文件夹DAL,用来放置EF相关的类。 新建Context,跟之前文章的过程类似,如下图,不再细说。 4、给context增加DI (dependency injection, 依赖注入) 之前我们讲了DI的原理与实现,ASP.NET Core默认实现了DI,服务在启动时进行注册,通过构造函数的方式获取。