【问题标题】:my action is called twice我的动作被调用了两次
【发布时间】:2013-06-13 02:53:59
【问题描述】:

我有一个返回页面的 PageRank 的操作。当我调试我的网站并首先调用该操作时,我的操作是使用 url 调用的,它返回页面的 PR,然后在没有 url 的情况下再次调用它,这会引发异常。我不知道为什么会这样。

这是我的行动

[ValidateInput(false)]
public string PR(string id)
{
    Uri u = new UriBuilder(id).Uri;
    id = u.AbsoluteUri;
    return GooglePageRank.PRChecker.PR(id);
}

我使用的是 IIS8 Express 和 .Net 4.5,但它与 IIS7.5 和 .Net 4 相同

【问题讨论】:

  • 也许在渲染的页面(一些 JavaScript 或页面资源)中有一些东西正在调用当前资源?你有这个发生的活生生的例子吗?检查浏览器调试器中的网络面板,看看那里是否有线索。尝试在另一个页面上重现该问题也可能会缩小范围。
  • @David 它只是将 PageRank 作为数字返回。它是字符串动作,所以它不使用任何其他布局或 JS 代码!
  • 从浏览器的调试器中,是否有第二次实际调用 action 方法?应用程序中是否有手动调用操作方法的代码?
  • 在任何 xhr 请求上添加断点
  • 我不熟悉 Chrome 的调试工具,但应该有一个功能可以监控网络请求和响应。对于服务器端调用,您只需查找对该函数的引用即可。

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

我使用 fiddler 发现它的发生是因为 chrome 的 Web Server NotifierWeb Technology Notifier 扩展,它们向操作发送了另一个请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多