我们刚刚开始在MVC应用程序中使用SignalR,由于平均响应时间长,现在我们收到大量警报。我怀疑这会引起误导,因为应用程序没有出现性能下降的情况。似乎SignalR使用此URL建立连接。这个网址不是项目的控制器/动作,而是js文件中的内置SignalR代码。jquery.signalR-2.2.1.js是文件。我怀疑当他们在此页面上时,只是使websocket连接保持打开状态,并且歪曲了我们的数字。这个准确吗?如果是这样,是否有办法从应用程序见解中过滤掉它?
这是柜台。 这是预期的行为吗?
这是构建URL的signalR jQuery代码:
// BUG #2953: The url needs to be same otherwise it will cause a memory leak
getUrl: function (connection, transport, reconnecting, poll, ajaxPost) {
/// <summary>Gets the url for making a GET based connect request</summary>
var baseUrl = transport === "webSockets" ? "" : connection.baseUrl,
url = baseUrl + connection.appRelativeUrl,
qs = "transport=" + transport;
if (!ajaxPost && connection.groupsToken) {
qs += "&groupsToken=" + window.encodeURIComponent(connection.groupsToken);
}
if (!reconnecting) {
url += "/connect";
} else { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 System.Data.OracleClient 而不是 Oracle.DataAccess 与 Fluent Nhibernate 。据我了解,为了实现这一点,我应该将我的驱动程序从 OracleDataClientDriver 更改为 OracleClientDriver。我已经像下面这样配置了它,但我收到一个错误,看起来它仍在尝试使用 OracleDataClientDriver。我究竟做错了什么?
FluentConfiguration configuration = Fluently.Configure()
.Database(
OracleDataClientConfiguration.Oracle10
.ConnectionString(x => x.FromConnectionStringWithKey(connString))
.Provider<NHibernate.Connection.DriverConnectionProvider>()
.Driver<NHibernate.Driver.OracleClientDriver>()
)
Run Code Online (Sandbox Code Playgroud)
这是错误,它仍在寻找我试图摆脱的 Oracle.DataAccess。
[NullReferenceException: Object reference not set to an instance of an object.]
NHibernate.Driver.OracleDataClientDriver..ctor() +134
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +113
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) …Run Code Online (Sandbox Code Playgroud) 我试图动态地将列表项添加到列表中,然后通过单击该项删除它.删除事件似乎永远不会触发.但是,如果我在静态列表上使用相同的代码,它可以正常工作.我见过类似的解决方案,但它们不起作用.
见jsFiddle:http: //jsfiddle.net/Lc2bC/
<input id="status" type="text" placeholder="Status (tab or enter)">
<br/>
Dynamic List:
<ul id="statusList"></ul>
$('#status').keydown(function (e) {
if (e.which == 9 || e.which == 13) {
$('#statusList').html($('#statusList').html() + formatNewStatus(this.value));
this.value = "";
this.focus();
e.preventDefault();
}
});
$(function () {
$('#statusList li').click(function () {
alert('dynamicList');
$(this).remove();
})
});
Run Code Online (Sandbox Code Playgroud) 我正在使用Visual Studio Online REST API,除了创建工作项外,似乎可以使一切工作正常.这不是内部部署安装.我按照这个例子发送一个PATCH但收到400 Bad Request错误. VSO创建工作项
每个提琴手,这是我的原始请求:
PATCH https://xxx.visualstudio.com/defaultcollection/myproject/_apis/wit/workitems/$Task?api-version=1.0 HTTP/1.1
Accept: application/json
Authorization: Basic RmI3etc_etc_etc==
Content-Type: application/json-patch+json; charset=utf-8
Host: xxx.visualstudio.com
Content-Length: 101
Expect: 100-continue
Connection: Keep-Alive
{"op":"add","path":"/fields/System.Title","value":"JavaScript implementation for Microsoft Account"}
Run Code Online (Sandbox Code Playgroud)
我得到的回复是400 Bad Request:
{"$id":"1","innerException":null,"message":"You must pass a valid patch document in the body of the request.","typeName":"Microsoft.VisualStudio.Services.Common.VssPropertyValidationException, Microsoft.VisualStudio.Services.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03ftoken0a3a","typeKey":"VssPropertyValidationException","errorCode":0,"eventId":3000}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么补丁文件无效.
更新:每个请求,只是分享更多的代码.我用自己的图书馆修补了一下.以下是我为项目轻松添加工作项(产品积压,错误等)所做的工作
public void AddWorkItem(VSOWorkItem workItem, string project)
{
Project = project;
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
//Set alternate credentials
client.DefaultRequestHeaders.Authorization = …Run Code Online (Sandbox Code Playgroud) 例如:假设我想返回一个显示汽车列表的视图,并显示您所在地区的一部分经销商.这是两个脱节的数据.
我的视图继承了以下汽车列表:
public partial class CarLot : ViewPage<List<Cars>>
{
}
Run Code Online (Sandbox Code Playgroud)
现在从控制器我可以返回如下视图:
return View(Model.GetCars());
Run Code Online (Sandbox Code Playgroud)
为了呈现这一点,我的标记看起来如下所示:
<% foreach (Car myCar in ViewData.Model)
{some html here}
%>
Run Code Online (Sandbox Code Playgroud)
这照顾了汽车清单,但我的问题是,我该如何处理经销商名单?视图是否支持多重继承,或者我是否必须再次从标记中获取模型?我知道可以这样做,但我不确定这是否是最好的做法.
我会开始说这在Chrome和Firefox中完美运行,但不适用于IE(IE9).
期望的行为:我的页面上有一个包含超链接的部分视图.当您单击超链接时,它使用jQuery函数弹出一个对话框以输入新的注释.关闭对话框时,应使用新计数刷新部分视图.
在IE中,它适用于第一次传递,但不是后续传递.
我正在使用jQuery 1.6.1和jQuery UI 1.8.13进行对话.
这是我的函数,它被超链接调用,我已经确认它每次都会点击这个函数,只是在调用.load时没有进入控制器(或者它忽略了close函数):
function showNoteDialog(id) {
//alert(id);
var dialogOpts = {
title: 'Add Note',
modal: true,
autoOpen: false,
height: 600,
width: 600,
closeOnEscape: true,
open: function (event, ui) {
jQuery.ajaxSetup({ cache: false });
//display correct dialog content
$('#noteDialog).load('<%= Url.Action("ModalNoteEdit","Notes")%>', { id: id });
}
,
// refresh the partial view
close: function (event, ui) {
$('#noteList).load('<%= Url.Action("NoteList","Notes")%>');
}
};
$('#noteDialog).dialog(dialogOpts);
$('#noteDialog).dialog('open');
//end dialog
return false;
}
Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×3
c# ×3
jquery ×2
api ×1
azure-devops ×1
inheritance ×1
jquery-ui ×1
nhibernate ×1
rest ×1
signalr ×1
websocket ×1