首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构

在《WCF技术剖析》写作期间,对WCF又有了新的感悟,为此以书名开始本人的第三个WCF系列。...不过,一改传统对WCF的工作流程进行平铺直叙,我将另辟蹊径,借助于我们熟悉的ASP.NET作为请求处理平台,通过一个简单的托管程序模拟整个WCF客户端和服务端的架构。...客户端通过一个Console应用模拟,而服务端则通过一个ASP.NET Website实现。 ?...服务契约定义在Contracts项目,具体的服务实现在模拟服务端的ASP.NET Web站点中。简单起见,依然沿用计算服务的例子。...在OperationInvoker执行操作方法之前,通过反射的方式直接创建服务对象,这一步在真正的WCF框架中通过InstanceProvider实现的。

97980

WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务

在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side...对于前者,WCF通过HttpModule实现了服务的寄宿,而对于后者,WCF的服务寄宿通过一个HttpHandler实现。...WCF Service。...众所周知,HTTP无状态(Stateless)的传输协议,对服务端来说,它收到的每个HTTP请求都是全新的请求。...那么对于ASP.NET兼容模式下的WCF也一样,要想让服务端能够识别会话,就需要让每个服务调用的HTTP请求携带Session的识别信息,我们也可以通过传递Cookie的方式来解决这个问题。

773100

WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务

在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side...对于前者,WCF通过HttpModule实现了服务的寄宿,而对于后者,WCF的服务寄宿通过一个HttpHandler实现。...WCF Service。...众所周知,HTTP无状态(Stateless)的传输协议,对服务端来说,它收到的每个HTTP请求都是全新的请求。...那么对于ASP.NET兼容模式下的WCF也一样,要想让服务端能够识别会话,就需要让每个服务调用的HTTP请求携带Session的识别信息,我们也可以通过传递Cookie的方式来解决这个问题。

951100

Asp.Net Core 中什么认证和授权

认证(Authentication)识别你谁,授权(Authorization)决定你能做什么 加入 A 用户现在通过浏览器想要访问时总的网站,这个时候我们需要知道他谁,也就是认证。...如果他一个普通用户,那么他只能访问一些公开的页面,如果他管理员,那么他可以访问一些管理员的页面。这个时候我们需要知道他能做什么,也就是授权。...因此,认证指识别用户的身份,而授权指决定用户能做什么。 特别说明,识别你谁的意思,你可能被识别为一个普通用户,也可能被识别为一个管理员,也可能被识别为一个游客(匿名用户)。...而在 Asp.Net Core 中,认证指请求中的凭据如何被转换为一个 Principal 或者 Identity 对象。...总结 在 Asp.Net Core 中,认证识别用户身份的过程,授权决定用户是否有权限访问资源的过程。

17720

Asp.Net Core 中什么认证和授权

认证(Authentication)识别你谁,授权(Authorization)决定你能做什么加入 A 用户现在通过浏览器想要访问时总的网站,这个时候我们需要知道他谁,也就是认证。...如果他一个普通用户,那么他只能访问一些公开的页面,如果他管理员,那么他可以访问一些管理员的页面。这个时候我们需要知道他能做什么,也就是授权。...因此,认证指识别用户的身份,而授权指决定用户能做什么。特别说明,识别你谁的意思,你可能被识别为一个普通用户,也可能被识别为一个管理员,也可能被识别为一个游客(匿名用户)。...而在 Asp.Net Core 中,认证指请求中的凭据如何被转换为一个 Principal 或者 Identity 对象。...总结在 Asp.Net Core 中,认证识别用户身份的过程,授权决定用户是否有权限访问资源的过程。

1.2K30

WCF技术剖析系列总结篇

1、通过一个ASP.NET程序模拟WCF基础架构 本系列的第一篇,我将会对WCF的基本架构作一个大致的讲解。...(阅读全文) 5、利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET...)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式。...(阅读全文) 6、为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效 本篇文章来源于几天前一个朋友向我咨询的问题。...问题这样的,他说他采用ASP.NET应用程序的方式对定义的WCF服务进行寄宿(Hosting),并使用配置的方式对服务的BaseAddress进行了设置,但是在创建ServiceHost的时候却抛出InvalidOperationException

92990

WCF技术剖析之二十: 服务在WCF体系中如何被描述的?

任何一个程序都需要运行于一个确定的进程中,进程一个容器,其中包含程序实例运行所需的资源。同理,一个WCF服务的监听与执行同样需要通过一个进程来承载。...服务寄宿的方式大体分两种:一种为一组WCF服务创建一个托管的应用程序,通过手工启动程序的方式对服务进行寄宿,所有的托管的应用程序均可作为WCF服务的宿主,比如Console应用、Windows Forms...应用和ASP.NET应用等,我们把这种方式的服务寄宿方式称为自我寄宿(Self Hosting)。...服务寄宿的手段为一个WCF服务类型创建一个ServiceHost对象(或者任何继承于ServiceHostBase的对象)。...客户端行为体现的WCF如何进行服务调用的方式,而服务端行为则体现了WCF的请求分发方式。

93760

WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘

从这个意义上讲,我们可以说WCF Service的运行模式和ASP.NET运行时采用的一种并行的模式。...不过,WCF服务模型通过自己的方式解决了上面的问题,比如: OperationContext:ASP.NET HttpContext基于当前的请求,WCF的OperationContext基于当前的操作...为什么WCF要采用这种于ASP.NET并行的模式,而不像Web Service一样采用与ASP.NET完全兼容呢?...但是在一个Web应用中,尤其一些AJAX的Web应用,却明确地需要以一种ASP.NET兼容模式处理WCF Service请求。...比如,在WCF Service的操作中,需要获取ASP.NET应用的SessionState,或者需要通过基于.svc文件的ACL对WCF Service进行授权等。

1.1K100

ASP.NET AJAX(9)__Profile Service什么ASP.NET Profile如何使用ASP.NET ProfileProfile ServiceProfile Service预

什么ASP.NET Profile 可以为每个用户(包括匿名用户)储存信息 通过在Web.config中的配置即可在应用程序中使用 强类型的属性 可以定义属性组 可以通过自定义ProfileProvider...为profile提供的一个数据库的支持 然后我们打开数据库管理器,我电脑里装的Microsoft SQL Server的develop版本,VS2008带的Express版本,但是在某些功能上限制,...SQL文件,我们最好使用数据库的最高权限管理员登陆,以免遇到一些权限上的问题 然后我们会在数据库里发现一个名为aspnetdb的数据库,这个数据库默认生成的,名字可以是在我们开始使用命令行的时候指定的...AJAX 1.0提供的Application Service中的一个 另一个Membership Service .NET Framework 3.5中包含其他的Application Service...使用Profile Service 出于安全性考虑,ASP.NET AJAX的Profile Service在默认情况下不可用的 <profile Service enabled=”true|false

1.2K90

WCF技术剖析之二:再谈IIS与ASP.NET管道

在写作《WCF深入剖析》中,为了剖析基于IIS的WCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...图1 IIS 5.x与ASP.NET ISAPIInternet服务器API(Internet Server Application Programming Interface)的缩写,一套本地的...如果我们请求的一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...无论从W3SVC接收到的HTTP请求,还是通过WCF提供的监听适配器接收到的请求,最终都会传递到WAS。...那么,是什么成就了ASP.NET的高可扩展性呢? HttpModule功不可没。 从功能上讲,HttpModule之于ASP.NET,就好比ISAPI Filter之于IIS一样。

1.2K41

WCF技术剖析之二:再谈IIS与ASP.NET管道

在写作《WCF深入剖析》中,为了剖析基于IIS的WCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...图1 IIS 5.x与ASP.NET ISAPIInternet服务器API(Internet Server Application Programming Interface)的缩写,一套本地的...如果我们请求的一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...无论从W3SVC接收到的HTTP请求,还是通过WCF提供的监听适配器接收到的请求,最终都会传递到WAS。...那么,是什么成就了ASP.NET的高可扩展性呢? HttpModule功不可没。 从功能上讲,HttpModule之于ASP.NET,就好比ISAPI Filter之于IIS一样。

1.5K110

WCF 4.5:配置文件更小,对ASP.NET的支持更好

有了WCF 4.5,配置文件默认只会有绑定类型和名称。 当然,这会引出相关的培训问题,“我怎么知道设定都是什么呢?” 为了回答这个问题,我们还会在配置文件中看到消息提示和自动完成的功能。...尽管把WCF部署在Windows服务中完全可以接受的,但是大多数开发者会在工作中继续使用IIS。为什么不呢,IIS提供了对很多特性的内建支持,像身份验证、状态管理以及过程回收等。...WCF 4.5让开发者可以把验证方式类型设置为“InheritedFromHost”,让服务遵从IIS的方式,从而避免了这类特定的缺陷。 遗憾的,这只是部分的修正。...Ori认为, 当你把WCF服务部署在IIS中时,即便你不使用ASP.NET兼容模式,也会占用一些ASP.NET的管道,这在MSDN的文章《WCF 服务和ASP.NET》中有记录(你需要查找关于PostAuthenticateRequest...在.NET 4中存在ASP.NET方面的设计缺陷,它会导致传送给WCF的请求缓存在ASP.NET中。这种缓存行为会导致多种主要的副作用: 这不仅会让处理请求产生延迟,特别庞大的内容甚至会溢出到硬盘上。

86550

WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效

问题这样的,他说他采用ASP.NET应用程序的方式对定义的WCF服务进行寄宿(Hosting),并使用配置的方式对服务的BaseAddress进行了设置,但是在创建ServiceHost的时候却抛出InvalidOperationException...对于后者,.svc文件得地址就是WCF服务的BaseAddress,所以WCF会忽略BaseAddress的配置。 那么WCF采用怎样的方式来判断当前服务寄宿的方式基于IIS呢,还是其他呢?...对于ASP.NET有一定了解的人应该很清楚,在一个ASP.NET应用下,该属性永远返回为True。...也就是说,WCF会把基于ASP.NET应用的服务寄宿,看成基于IIS的服务寄宿,这显然不对的。...{ 5: get { return HostingEnvironment.IsHosted; } 6: } 7: } 三、解决方式 其实这种情况也没有什么好的解决方案

58180

【翻译】WCF4.5:更少的配置和ASP.NET更好的支持

谁都知道删除这些多余的设置比较好,但不幸的,谁都没有学会这一招!在WCF 4.5中配置文件只需要设置绑定的类型和名称即可! 当然这导致了另一个问题:“我怎么知道这些设置是什么呢?”...singleWsdl可以使用这个改进 把WCF服务寄宿到系统服务内完全可行的。但大多数开发人员继续在IIS下完成大量的工作。为什么呢?...另一个bug关于WCF传输流数据的,Ido Flatow: 当你把WCF服务寄宿在IIS上时,即使你没有使用asp.net兼容模式,你也一样会得到asp.net处理管线的一部分。...可以在MSDN文档:WCF服务和ASP.NET(查找PostAuthenticateRequest Event部分)找到相关内容。...在.Net 4中,ASP.NET里有一个设计缺陷,对WCF的请求会在ASP.NET中缓冲,这些缓冲行为会引起一些副作用 这不仅仅造成处理请求的延时,更严重的,相当大的一部分内容溢出到硬盘上了。

53720
领券