在ASP.Net应用程序和最佳实践中使用WCF
|
我对WCF是全新的.我很确定它会像常规的网络服务一样工作 – 我也很确定我也是这样做的,但现在我想确保我做的正确. 我们的ASP.Net应用程序通过互联网连接到WCF服务.我已经完成了基本的安全性和使用SSL.它正在工作,但比我们定期进行Web服务时慢.正在返回的数据与常规Web服务基本相同. 当我使用常规Web服务时,只要我需要获取数据,我将创建一个新的服务对象,并调用我需要的数据的函数.这似乎可以正常工作,但正如我想象的,不是最好的方法,特别是如果有成千上万的用户同时连接.所以当我转换为WCF时,我决定保持一个客户端打开,只是使用这个连接到网站的每个人.我把它放在缓存中,当缓存转储对象时,我有一个回调函数去处理它. 现在我甚至没有想到这一点,直到我改变这一切,这可能会造成多个人连接的问题.如果人A请求数据,则B必须等待其完成,然后才能通过该服务获取数据. 所以我改变它是基于会话.我执行这个错误,或者它刚刚反弹,因为它根本不奏效.客户会超时,造成故障,或者简单地不工作.我现在把它改回缓存,似乎工作正常(除了慢). 对于这种情况,什么是“最佳实践”?在需要的时候,我是否随时创建客户端,创建一个会话(并找出我做错了什么),或者保持原样,并使用一个客户端缓存方法? 解决方法这种问题通常通过维护池来解决.而不是在一个极端中拥有一个服务对象,而在另一个极端只有一个服务对象,而是池将保存需要的一组服务对象,以支持其服务的连续需求.因此,池只应该增长到最大需求点.在服务对象之外的任何其他超时之前,您将确保对象从池中删除,并确保它们在出现任何异常时退出. 这样,您没有等待访问单个对象的多个客户端请求,也没有空闲对象挂在服务中,并且可能会老化,直到再次被重用为止. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Asp.net UserControl LoadControl问题
- asp.net – 如何在SQL数据库中创建和存储用户定义的自定义字
- asp.net – 无法安装Microsoft.AspNet.Razor 3.0.0
- ASP.NET奇怪的编译错误
- asp.net-mvc – 可靠地处理ASP.NET MVC模型绑定错误
- Asp.Net MVC验证 – 依赖字段
- asp.net-mvc – ASP.NET MVC RenderAction重新呈现整个页面
- asp.net – 比较Razor vs ASPX语法
- Asp.net MVC – Jquery $.ajax错误回调没有返回responseJSO
- 编译ASP.NET网站时出现MSBuild错误
- asp.net – 使用JQuery从viewstate获取值?
- asp.net – 引用依赖于ConfigurationManager的.n
- 如何阻止.Net HttpWebRequest.GetResponse()引发
- asp.net-mvc-4 – 在IIS 7.5中注册.NET Framewor
- Asp.Net MVC验证 – 依赖字段
- asp.net – 用户控件(ascx)和属性
- 什么时候用ASP.NET MVC来淘汰JavaScript
- asp.net-mvc-4 – MVC 4如果经过身份验证,则从登
- asp.net-core – Asp.net Core中的UserHostAddre
- asp.net-mvc – MVC2 Binding不适用于Html.DropD
