services

asp.net core 缓存和Session

China☆狼群 提交于 2020-01-25 14:07:48
缓存 缓存在内存中 ASP.NET Core 使用 IMemoryCache 内存中缓存是使用依赖关系注入从应用中引用的服务。 请在ConfigureServices中调用 AddMemoryCache() : public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMemoryCache(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); } public void Configure(IApplicationBuilder app) { app.UseMvcWithDefaultRoute(); } } 在构造函数中请求 IMemoryCache 实例: public class HomeController : Controller { private IMemoryCache cache; public HomeController(IMemoryCache cache) { this.cache = cache; } public IActionResult Index() { cache.Set("name", $"shijia

WebService与使用风格RPC/SOA/REST

陌路散爱 提交于 2020-01-24 06:25:55
一 webservice Web Services 可使您的应用程序成为 Web 应用程序。Web Services 通过 Web 进行发布、查找和使用。通过使用 Web Services,您的应用程序可以向全世界发布信息,或提供某项功能。 1) 什么是Web Services? Web Services 是应用程序组件 Web Services 使用开放协议进行通信 Web Services 是独立的(self-contained)并可自我描述 Web Services 可通过使用UDDI来发现 Web Services 可被其他应用程序使用 XML 是 Web Services 的基础 2)它如何工作? 基础的 Web Services 平台是 XML + HTTP。 HTTP 协议是最常用的因特网协议。XML 提供了一种可用于不同的平台和编程语言之间的语言。 Web services 平台的元素: •SOAP (简易对象访问协议) •UDDI (通用描述、发现及整合) •WSDL (Web services 描述语言) 3)工作过程,如图: 二 SOAP SOAP 是指简单对象访问协议(simple object access protocal)。 SOAP是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。或者更简单地说:SOAP

Web Services 教程

不问归期 提交于 2020-01-24 06:25:27
Web Services 教程 Web Services 可以将应用程序转换为网络应用程序。 通过使用 Web Services ,您的应用程序可以向全世界发布信息,或提供某项功能。 Web Services 可以被其他应用程序使用。 通过 Web Services ,您的会计部门的 Win 2k 服务器可以与 IT 供应商的 UXIX 服务器相连接。 基本的 Web Services 平台是 XML+HTTP 。 Web services 使用 XML 来编解码数据,并使用 SOAP 来传输数据。 学习如何经由 ASP.NET 应用程序创建 Web Services 。 在本教程中,我们把一个 ASP.NET 程序转换为了 Web Services 。 开始学习 Web Services ! Web Services 简介 Web Services 可使您的应用程序成为 Web 应用程序。 Web Services 通过 Web 进行发布、查找和使用。 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: · HTML · XML 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。 什么是 Web Services ? · Web Services 是应用程序组件 · Web Services 使用开放协议进行通信 · Web Services

关于<Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)>看后的一些总结-1

谁都会走 提交于 2020-01-23 23:41:58
原文地址: https://www.anquanke.com/post/id/194384#h3-3 1.java rmi 关于rmi客户端和服务端通信的过程,java的方法都实现在rmi服务端,客户端实际上是通过访问rmi注册表拿到stub,然后再通过它调用服务端方法,那么调用方法时要传递参数,参数可以为一般类型,也可以为引用类型,那么如果为引用类型,就能够利用服务端已经有的gaget chain来打server,因为参数实际上是序列化传输的,那么数据到达服务端后必定会经过反序列化。 客户端: RMIClient.java package com.longofo.javarmi; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; public class RMIClient { /** * Java RMI恶意利用demo * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Registry registry = LocateRegistry.getRegistry("127.0.0.1", 9999); // 获取远程对象的引用

ADManager Plus如何与UltiPro集成简化用户管理?

拟墨画扇 提交于 2020-01-23 13:35:20
将UltiPro Services与ADManager Plus集成,可以自动将HR中的数据导入到ADManager Plus中,并通过ADManager Plus自动在AD中创建用户帐户。 这样一来您就不用手动创建或写脚本,从而节省大量时间。 步骤如下: 步骤1:启用ADManager Plus和UltiPro Services之间的集成 登录到ADManager Plus,然后单击“管理” 选项卡。 单击左侧导航窗格中的“集成” 选项。 单击UltiPro服务 图标,然后单击 服务帐户管理旁边的箭头 。 输入您的UltiPro帐户的Web服务帐户用户名,密码和客户API密钥,该帐户必须与ADManager Plus 集成在一起 。如果您希望在公司中筛选特定用户,请 在“ 高级” 部分中输入“ 用户ID ” 。 单击 测试连接并保存。 步骤2:执行LDAP属性映射 单击 添加新配置。 输入正确的 配置名称 和 描述。 将UltiPro Services中用户帐户的设置映射到AD中相应的LDAP属性。例如,将LDAP属性名称 下的namedName映射到DB列名称下的First_Name 。单击 + 符号对所有必需属性执行属性映射。 点击 保存。 注意:密码是必填属性,无法映射到UltiPro服务列。要解决此问题,请创建一个模板并指定密码或生成密码的 方法。然后

.net core 中api 模型验证

落花浮王杯 提交于 2020-01-22 10:22:43
AddControllers/AddMvc方法允许添加自定义ActionFilterAttribute进行过滤 文档中这么定义Filter: 可以创建自定义筛选器,用于处理横切关注点。 横切关注点的示例包括错误处理、缓存、配置、授权和日志记录。 筛选器可以避免复制代码。 例如,错误处理异常筛选器可以合并错误处理。 通过不同的接口定义,筛选器同时支持同步和异步实现。 同步筛选器在其管道阶段之前和之后运行代码。 例如,OnActionExecuting 在调用操作方法之前调用。 OnActionExecuted 在操作方法返回之后调用。 添加自定义模型验证 自定义筛选器依赖注入方式 public void ConfigureServices(IServiceCollection services) { // Add service filters. services.AddScoped<AddHeaderResultServiceFilter>(); services.AddScoped<SampleActionFilterAttribute>(); services.AddControllersWithViews(options => { options.Filters.Add(new AddHeaderAttribute("GlobalAddHeader", "Result

.net core 2.1 AOP 切面编程,MVC和控制台例子

痞子三分冷 提交于 2020-01-21 16:01:31
先来个MVC版本的 1:Nuget引入 AspectCore.Extensions.DependencyInjection 2:Startup 类中设置IServiceProvider public IServiceProvider provider { get; set; } 3:Startup 类ConfigureServices方法注册服务 services.AddScoped<IHuman, Man>(); services.AddDynamicProxy();//注册AOP服务 provider = services.BuildAspectCoreServiceProvider(); 4:Startup 类Configure方法,把IServiceProvider写入缓存 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IMemoryCache memoryCache) { 。。。 memoryCache.Set<IServiceProvider>("provider", provider); } 5:Controller中调用 public class TestController : Controller {

150行代码打造.net core生产力工具,你值得拥有

妖精的绣舞 提交于 2020-01-20 16:45:45
你是否在初学 .net core时,被依赖注入所折磨? 你是否在开发过程中,为了注入依赖而不停的在Startup中增加注入代码,而感到麻烦? 你是否考虑过或寻找过能轻松实现自动注入的组件? 如果有,那请欢迎继续往下看。 或许你是被我这标题给吸引过来的,请不要怀疑自己的眼睛,如果你真的遇到过以上的问题,那我相信我的分享能帮助到你。 再次声明,我不是标题党。 闲话少说,此组件已经在我们公司内部使用半年有余,虽然代码不多,但也确确实实为公司同事解决些许麻烦事。为了响应公司开源的号召,所以决定将此组件开源。 在没有此工具之前,相信大多数使用core的程序员都是使用如下方式注入依赖的: services.AddTransient<IStudentRepository, StudentRepository>(); services.AddTransient<IGroupRepository, GroupRepository>(); services.AddTransient<ISchoolRepository, SchoolRepository>(); ..... ..... ..... ..... 此处省略若干行 但在项目的开发过程中,需要依赖注入的类存在频繁变动的情况,而时常会出现写了实体以及对应的接口后,而忘记添加注入代码情况。此情况不但增加了开发人员的重复而无意义的工作量

ASP.NET Core DI概述

风流意气都作罢 提交于 2020-01-16 23:34:24
众所周知,ASP.NET Core有一个DI框架,应用程序启动时初始化。   预定义依赖 1: IApplicationBuilder:提供了配置应用程序的请求管道机制 2:ILoggerFactory:次类型提供了创建记录器组件的模式 3:LHostinEnvironment:此类型提供管理应用程序运行的Web宿主环境的信息。    注册自定义依赖 为了注册类型,需要让系统知道如何将一个抽象类型解析为一个具体类型,这种映射可以是静态设定,也可以是动态的。 public void ConfigureServices(IServiceCollection services) { services.AddTransient<ICustomerService, CustomerService>(); } 每当请求一个实现了ICustomerService的类型的实例时,系统返回CustomerService的一个实例,特别是,AddTransient方法确保了每次都会返回CustomerSerivce类型的一个新实例。 静态解析有时候有一定的局限性。事实上,如果需要根据运行时条件将类型T解析为不同的类型,它允许指定一个回调函数来解析依赖 public void ConfigureServices(IServiceCollection services) { services

[ASP.NET Core 3框架揭秘] Options[5]: 依赖注入

淺唱寂寞╮ 提交于 2020-01-16 11:09:33
原文: [ASP.NET Core 3框架揭秘] Options[5]: 依赖注入 《 Options模型 》介绍了组成Options模型的4个核心对象以及它们之间的交互关系,读者对如何得到Options对象的实现原理可能不太了解,本篇文章主要介绍依赖注入的相关内容。既然我们能够利用IServiceProvider对象提供的IOptions<TOptions>服务、IOptionsSnapshot<TOptions>服务和IOptionsMonitorCache<TOptions>服务来获取对应的Options对象,那么在这之前必然需要注册相应的服务。回顾《 配置选项的正确使用方式 》演示的几个实例可以发现,Options模式涉及的API其实不是很多,大都集中在相关服务的注册上。Options模型的核心服务实现在IServiceCollection接口的 AddOptions 扩展方法。 一、AddOptions AddOptions扩展方法的完整定义如下所示,由此可知,该方法将Options模型中的几个核心类型作为服务注册到了指定的IServiceCollection对象之中。由于它们都是调用 TryAdd 方法进行服务注册的,所以我们可以在需要Options模式支持的情况下调用AddOptions方法,而不需要担心是否会添加太多重复服务注册的问题。 public static