所以,在我的Index.cshtml页面中,当我最初加载页面时,我有:
@inherits ViewPage <!DOCTYPE html> <html> <head> <script type="text/javascript" src="ext-all-debug.js"></script> <script type="text/javascript" src="app.js"></script> <script type="text/javascript" src="app.ext.js"></script> <script type="text/javascript" src="dump.js"></script> @ServiceStack.MiniProfiler.Profiler.RenderIncludes().AsRaw() </head> <body> </body> </html>
好的,我可以看到它的分析索引,一堆ExtJS,以及服务器端的第一个ajax调用我的ServiceStack(在/ api / session中).
现在,在我的ExtJS表单中,当我点击它时,我有一个Customers选项卡向/ api / customers发送ajax请求,当我点击它调用/ api / orders时我有一个标签.
但是,当我开始点击,比如客户选项卡时,Miniprofiler不再将任何后续的ajax请求添加到列表中?我以为Miniprofiler可以记录ajax请求没什么特别需要做的吗?为什么不为我记录后续的ajax请求?我错过了什么?
解决方法
Nuget提供的当前版本不支持拦截ExtJS ajax调用.
似乎该功能有一个 pull request,但它尚不可用.
似乎该功能有一个 pull request,但它尚不可用.
以下是我必须做的事情:
Ext.require('Ext.Ajax'); Ext.onReady(function () { Ext.Ajax.on('requestcomplete',function (e,xhr,settings) { if (typeof (MiniProfiler) != 'undefined') { var stringIds = xhr.getResponseHeader('X-MiniProfiler-Ids'); if (stringIds) { var ids = typeof JSON != 'undefined' ? JSON.parse(stringIds) : eval(stringIds); MiniProfiler.fetchResultsExposed(ids); } } }); });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。