我已经建立了一个SignalR集线器来在服务器和客户端之间进行通信.中心服务器端代码存储在名为Hooking.cs的类中.我想要的是能够调用Hooking.cs中定义的方法,允许我从应用程序的任何地方向任何连接的客户端广播消息.似乎为每个客户端/服务器调用创建了一个新的Hooking.cs实例,所以我希望我能够使用像
var hooking = new Hooking();
hooking.Test();
Run Code Online (Sandbox Code Playgroud)
用Hooking.cs中定义的方法Test()如
public static void Test() {
Clients.test()
}
Run Code Online (Sandbox Code Playgroud)
并与客户端javascript
var hooking = $.connection.hooking;
hooking.test = function() { alert("test worked"); };
$.connection.hub.start()
Run Code Online (Sandbox Code Playgroud)
不幸的是,它并不那么简单,因为客户端不是静态的,因此无法从静态方法访问.
通过SignalR源代码,我遇到了一个看起来很有前景的方法Hubs.Invoke(string hubName, string method, params object[] args)
,所以我希望我可以使用类似的东西,Hubs.Invoke("Hooking", "Test")
但是我无法使它工作.
任何有关这方面的帮助将非常感激
我发布带有下划线(like_this
)的变量名称的json 并尝试绑定到camelcased(LikeThis
)的模型,但是这些值无法绑定.
我知道我可以写一个自定义模型绑定器,但由于强调的约定是如此常见,我希望已经存在一个解决方案.
我试图发布的动作/模型是:
/* in controller */
[HttpPost]
public ActionResult UpdateArgLevel(UserArgLevelModel model) {
// do something with the data
}
/* model */
public class UserArgLevelModel {
public int Id { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
public int ArgLevelId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和json数据是这样的:
{
id: 420007,
first_name: "Marc",
surname: "Priddes",
arg_level_id: 4
}
Run Code Online (Sandbox Code Playgroud)
(不幸的是我不能改变json或模型的命名)
在实例化期间将变量传递给对象时,例如in
SomeObject newObject = new SomeObject() { SomeString = "String goes here" };
Run Code Online (Sandbox Code Playgroud)
变量SomeString是否可以在构造函数中访问,或者之后是否会被赋值?如果我需要在构造函数中使用它,它会工作还是我需要将其作为参数传递使用
new SomeObject("String goes here");
Run Code Online (Sandbox Code Playgroud) 我刚刚按照这些说明设置了RockMongo ,但我看不到如何从默认值(admin/admin)更改我的用户名/密码.
在config.php文件中有两个注释掉的行来设置mongo_user和mongo_pass,但这些是特定于数据库的(我相信),我已经尝试更改它们,但RockMongo的登录凭据仍然是admin/admin.
谁知道如何改变它们?
我在我的网站上设置了自定义错误页面
<customErrors mode="RemoteOnly" defaultRedirect="~/Error">
<error statusCode="500" redirect="~/Error/InternalError"/>
<error statusCode="404" redirect="~/Error/FileNotFound"/>
<error statusCode="403" redirect="~/Error/AccessDenied"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)
但是,在供应商网站上还有另一个区域,当供应商区域发生错误时,重定向将转到供应商/错误/ _.由于我这里没有任何错误页面,网站似乎挂起从不显示错误页面.如何在不必将错误页面复制到供应商区域的情况下解决此问题?
我需要存储一些基本上只是日期/整数的键值对数组的数据,其中日期将始终是唯一的.
我希望能够像关联数组一样存储它:
array(
"2012-02-26" => 5,
"2012-02-27" => 2,
"2012-02-28" => 17,
"2012-02-29" => 4
)
Run Code Online (Sandbox Code Playgroud)
但我还需要能够查询日期(即获取日期> 2012-02-27的所有内容),因此怀疑我需要使用更像的模式:
array(
array("date"=>"2012-02-26", "value"=>5),
array("date"=>"2012-02-27", "value"=>2),
array("date"=>"2012-02-28", "value"=>17),
array("date"=>"2012-02-29", "value"=>4),
)
Run Code Online (Sandbox Code Playgroud)
显然前者更清晰,更简洁,但我能否以我想要的方式查询它,如果没有,是否还有其他可能更合适的模式?
有没有人知道克服NotSupportedException的任何方法?我有针对用户的方法:
public virtual bool IsAbove(User otherUser)
{
return HeirarchyString.StartsWith(otherUser.HeirarchyString);
}
Run Code Online (Sandbox Code Playgroud)
我想这样做:
_session.Query<User>.Where(x => loggedInUser.IsAbove(x));
Run Code Online (Sandbox Code Playgroud)
但是这会抛出NotSupportedException.真正的痛苦是使用
_session.Query<User>.Where(x => loggedInUser.HeirarchyString.StartsWith(x.HeirarchyString));
Run Code Online (Sandbox Code Playgroud)
工作得非常好.我不喜欢这个解决方案,但是,因为这意味着如果我改变了IsAbove方法的工作方式,我必须记住每当我想要更新它时我复制代码的所有地方
有谁知道如何具体包括一个winforms安装项目,以包含在运行UppercuTs zip.bat时生成的code_drop文件夹中?使用默认设置包括我的Web应用程序和WCF服务,以及解决方案核心的dll,但不包括我的winforms应用程序/安装程序
有没有人知道任何现有的解决方案使用javascript可以解析crontab并返回给定的开始和结束日期之间的所有日期时间实例?
即如果我有0 * * * *
,开始24/10/2011 16:00
和结束24/10/2011 19:00
然后它将返回:
24/10/2011 16:00,
24/10/2011 17:00,
24/10/2011 18:00
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用C#创建在jQuery中创建对象所需的json.json需要的是
{
title: 'title text',
upperVal: 40,
lowerVal: 5,
mouseover: function() { return 'difference ' + (upperVal - lowerVal); }
}
Run Code Online (Sandbox Code Playgroud)
前几个元素很简单.我创建了一个表示对象JSObj的类,然后通过JavascriptSerializer.Serialize()运行它
public class JSObj {
public string title { get; set; }
public int upperVal { get; set; }
public int lowerVal { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这适用于前几个属性,但我不知道如何返回正确的鼠标悬停功能.
编辑:提供的代码只是示例代码,因为我实际使用的json的结构有点复杂.我正在使用HighCharts,我真正需要使用的配置选项之一需要一个功能,即使它们不是真正有效的json(http://www.highcharts.com/ref/#tooltip--formatter)所以不幸的是我无法避免这个问题
c# ×5
javascript ×3
asp.net-mvc ×2
json ×2
mongodb ×2
mongodb-php ×2
php ×2
build ×1
cron ×1
highcharts ×1
linq ×1
nhibernate ×1
signalr ×1
signalr-hub ×1
winforms ×1