【问题标题】:Is there a way to stop web methods from working when the project stops running in .NET?当项目停止在 .NET 中运行时,有没有办法阻止 Web 方法工作?
【发布时间】:2014-10-22 13:57:43
【问题描述】:

我正在开发一个必须在服务器端使用 VB.NET 的应用程序。 基本上,我使用 AJAX 从 JavaScript 调用 WebMethods。 (更准确地说是JQuery的AJAX函数)

虽然一切都很好,而且我在接收和上传数据方面也没有问题,但仍有一些事情困扰着我。

即使在我停止运行项目之后,我仍然保留客户端 WebMethods 的所有功能。事实上,我可以停止项目运行,然后按下“添加到购物车”客户端,该客户端调用一个将一些记录添加到数据库中的 WebMethod。如果我然后检查我的数据库,新记录就在那里,即使项目没有运行。

我想我至少可以检查会话是否处于活动状态,以防止这种情况发生,但无济于事。有谁知道是什么导致了这种行为?

这是我检查会话是否仍然存在的方式:

<WebMethod()> Public Shared Function AddToCart(ByVal itemCode As String, ByVal company As String) As String
    If (HttpContext.Current.Session("spusrid") IsNot Nothing) Then
        '//Its all good keep going!
    Else
        Return "ERROR-20"

    End If

    '//Remainder of code which adds Item to cart.

End If

如果有帮助,我将在本地运行该项目。 我只是担心这种行为会持续到现场。

【问题讨论】:

  • 您的意思是项目何时停止在 Visual Studio 中运行?您是在本地计算机上还是在远程环境中运行它?
  • 我编辑了我的帖子,是的,我在本地运行它。我只是担心这种行为会持续到现场。
  • “即使在我停止运行项目之后”...听起来你停止了 Visual Studio 调试器,而不是你真正的应用服务器很可能是 IIS
  • 在非 VS 环境中部署到 IIS 时不会发生这种情况,因为它将以不同的方式运行。正如 Jason 的回答所描述的,这只是一个调试问题。

标签: javascript asp.net ajax vb.net webmethod


【解决方案1】:

我的猜测是 Visual Studio 已经在 IIS Express 中启动了该项目。如果是这种情况,它应该出现在您的系统托盘中,您可以终止该特定站点。另一种方法是在 Visual Studio 中关闭项目,这也会导致站点停止运行。

【讨论】:

  • 好的,显然 Visual Studio 使项目在 IIS 中运行,即使您停止项目运行也是如此。谢谢。
  • 绝对!为了将来参考,VS 2013 有一个“编辑并继续”功能,当您终止项目时会阻止它运行,但也允许您在运行时编辑代码。
猜你喜欢
  • 2015-04-09
  • 1970-01-01
  • 1970-01-01
  • 2019-10-20
  • 2019-06-25
  • 1970-01-01
  • 2011-02-22
  • 2013-12-25
  • 2017-07-24
相关资源
最近更新 更多