asp.net – Webservices可以作为单身人士引起不同用户的问题吗?
发布时间:2020-12-16 09:33:14 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个使用UPS运送网络服务的电子商务应用程序.我已经读过创建一个单例是好的,所以任何时候都只有一个webservice实例.我的代码如下. Public Class Ship Private Shared sync As New Object() Private Shared _Service As New ShipService Public Sha
我正在开发一个使用UPS运送网络服务的电子商务应用程序.我已经读过创建一个单例是好的,所以任何时候都只有一个webservice实例.我的代码如下.
Public Class Ship Private Shared sync As New Object() Private Shared _Service As New ShipService Public Shared ReadOnly Property Service As ShipService Get If _Service Is Nothing Then SyncLock sync If _Service Is Nothing Then _Service = New ShipService End If End SyncLock End If Return _Service End Get End Property Public Shared Function GetInstance() As ShipService Return Service() End Function End Class 这是一个使用它的片段. Public Sub New(ByVal ToAddress As Address,ByVal WeightInLbs As String) //Not relevant code Ship.Service.UPSSecurityValue = Security //More not relevant code End Sub Public Function ProcessShipment() As ShipmentResponse Return Ship.Service.ProcessShipment(ShipmentRequest) End Function 在构造函数的上面一行中,我必须设置服务的UPSSecurityValue.然后我将调用ProcessShipment函数.我的问题是;由于web服务被作为单身人士进行交易,因此应用程序的不同实例可以共享相同的UPSSecurityValue,并且可以在我设置它和调用ProcessShipment之间进行更改吗? 解决方法
对于您正在进行的操作,它可以在您调用New并设置Security值和实际处理货件时明确更改.单例在应用程序的所有用户之间共享(在同一个Web应用程序中,即 – 如果您在服务器上有此应用程序的多个副本,他们每个人都使用自己的单例),因此所有用户将共享相同的数据.
如果多个用户同时运行该应用程序(或User2仅落后1ms): User1 User2 New (sets security code) New (sets security code) ProcessShipment ProcessShipment 两个货件都将使用User2的安全代码处理,这不是您想要的.安全地执行此操作的方法可能是在您发送包时将安全性传递给函数,然后立即使用它 – 如果您将其存储以供以后使用,即使是稍后的单个指令,您也可以为自己做好准备用户阅读彼此数据的条件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 在MVC3中使用Page.User.Identity.Name
- 将ASP.Net System.Net.Mail设置移动到Web.config
- asp.net-mvc – 使用MVC和WebAPI避免使用Resharper web.con
- 存储ASP.NET会话状态时AppFabric Cache的新缓存参数
- 使用VSCode如何调试C#控制台程序_1
- file-upload – 使用不同的名称字段动态添加FileUpload
- asp-classic – 旧ASP中的“on error goto 0”和“error re
- 扩展Asp.Net需要帮助
- asp.net-mvc – 向Visual Studio上下文菜单添加项目
- 如何在ASP.NET Core应用程序运行Vue并且部署在IIS上详解
推荐文章
站长推荐
- asp.net-mvc-4 – 无法让ASP.NET 4 Web API返回状
- asp.net – WebAPI在控制器上找不到任何操作
- asp.net-mvc-3 – ASP.NET MVC3:WebGrid Ajax过
- asp.net-mvc – @:ASP.net MVC Razor是什么意思
- asp.net – 默认的Razor cshtml名称空间定义在哪
- 在ASP.NET类中访问响应对象
- 在ASP.NET MVC视图中渲染HTML文件?
- asp.net – 在HTTP POST IIS ASP .NET上出现HTTP
- asp.net-mvc – 如何管理服务层中的事务?
- asp.net-mvc – 如何根据用户在ASP.NET MVC中的选
热点阅读