小编puf*_*pio的帖子

Bittorent客户端的DHT如何"自举"?

如果我有一个没有任何跟踪器的洪流,我刚刚开始了一个比特的客户端,所以我还没有同行...我怎么知道谁在DHT中首先连接?好像我必须知道DHT中至少有一个节点才能开始....

bittorrent dht

68
推荐指数
6
解决办法
3万
查看次数

javascript数组关联和索引?

JS中的数组是否可以关联和索引?我希望能够通过其位置或键值查找数组中的项目..可能吗?

javascript arrays indexing associative

38
推荐指数
5
解决办法
6万
查看次数

你如何通过javascript包括获取Url Referer?

如果我在谷歌搜索某些内容并点击结果(mytestsite.com),该网站的引用将是谷歌搜索的URL.

现在在该站点上,有一个JS文件包含用于跟踪目的..然而,JS文件请求的引用者是mytestsite.com ...处理JS请求的服务器没有办法知道它来自从谷歌搜索?

javascript referrer

31
推荐指数
2
解决办法
5万
查看次数

ASP.Net MVC RouteData和数组

如果我有这样的动作:

public ActionResult DoStuff(List<string> stuff)
{
   ...
   ViewData["stuff"] = stuff;
   ...
   return View();
}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下URL点击它:

http://mymvcapp.com/controller/DoStuff?stuff=hello&stuff=world&stuff=foo&stuff=bar
Run Code Online (Sandbox Code Playgroud)

但在我的ViewPage中,我有这个代码:

<%= Html.ActionLink("click here", "DoMoreStuff", "MoreStuffController", new { stuff = ViewData["stuff"] }, null) %>
Run Code Online (Sandbox Code Playgroud)

不幸的是,MVC不够聪明,无法识别该动作采用数组,并展开列表以形成正确的URL路由.相反,它只是在对象上执行.ToString(),它只列出了List中的数据类型.

当目标Action的参数之一是数组或列表时,有没有办法让Html.ActionLink生成正确的URL?

- 编辑 -

正如Josh在下面指出的那样,ViewData ["stuff"]只是一个对象.我试图简化问题,但引起了一个无关的错误!我实际上使用的是专用的ViewPage <T>,因此我有一个紧密耦合的类型感知模型.ActionLink实际上看起来像:

<%= Html.ActionLink("click here", "DoMoreStuff", "MoreStuffController", new { stuff = ViewData.Model.Stuff }, null) %>
Run Code Online (Sandbox Code Playgroud)

其中ViewData.Model.Stuff被键入为List

c# arrays asp.net-mvc list asp.net-mvc-routing

24
推荐指数
1
解决办法
1万
查看次数

命名和可选参数,以及WCF

所以.Net 4增加了命名和可选参数,非常甜蜜.我不需要制作尽可能多的1行重载方法.

那可以在WCF上运行吗?

.net wcf .net-4.0 optional-parameters named-parameters

20
推荐指数
2
解决办法
2万
查看次数

WCF,POST JSONized数据

我有一个复杂的类型:

[DataContract]
public class CustomClass
{
   [DataMember]
   public string Foo { get; set; }
   [DataMember]
   public int Bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后,我有一个WCF RESTful Web服务,其中包含:

[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "/class/save")]
bool Save(CustomClass custom);
Run Code Online (Sandbox Code Playgroud)

所以在浏览器端我将我的CustomClass对象jsonized到它看起来像:

var myClass = "{ foo: \"hello\", bar: 2 }";
$.ajax({
    contentType: "application/json",
    data: { custom: myClass },
    dataType: "json",
    success: callback,
    type: "POST",
    url: "MyService.svc/class/save"
});
Run Code Online (Sandbox Code Playgroud)

我使用$ .ajax提交数据w/jquery所以我可以手动将内容类型设置为"application/json",当它提交时,postbody看起来像

custom=<uri encoded version of myClass>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: …

.net wcf jquery post json

10
推荐指数
1
解决办法
6981
查看次数

WCF WebGetAttribute与WebInvokeAttribute

WebGetAttribute是使用Method ="GET"的WebInvokeAttribute的语法糖吗?或者是否存在潜在的差异?

.net wcf webget

9
推荐指数
1
解决办法
4577
查看次数

在Windows服务中托管的MSMQ支持的WCF服务在启动时失败

我在Windows服务中托管了一个WCF服务,我将其设置为"自动",因此它将在服务器启动时自动启动.服务端点是MSMQ支持的.

当我手动启动服务时,一切都很好.但是当服务在启动时启动时,我得到一个MSMQ异常:

System.TypeInitializationException: The type initializer for
'System.ServiceModel.Channels.Msmq' threw an exception. ---> 
System.ServiceModel.MsmqException: The version check failed with the error: 
'The Message Queuing service is not available (-1072824309, 0xc00e000b)'. The 
 version of MSMQ cannot be detected All operations that are on the queued channel
 will fail. Ensure that MSMQ is installed and is available.
   at System.ServiceModel.Channels.MsmqQueue.GetMsmqInformation
                   (Version& version, Boolean& activeDirectoryEnabled)
   at System.ServiceModel.Channels.Msmq..cctor()
   --- End of inner exception stack trace ---
Run Code Online (Sandbox Code Playgroud)

看起来MSMQ还没有准备好在服务开始之前使用......有解决方案吗?

wcf windows-services msmq startup

9
推荐指数
1
解决办法
4563
查看次数

使用.Net Parallel Extensions(Parallel.Invoke)进行多个异步调用?

目前,我有一段代码需要对各种数据提供者进行大约7次Web服务调用.每次调用都需要几秒钟才能执行,所以我想并行运行它们以加快速度.

我将7个调用包装在Parallel.Invoke中,它可以同时运行几个东西,但在2核心服务器上,它一次只执行2个,每个核心一个.由于我正在做的就是等待Web服务调用返回,我希望它能够获取所有7并等待它们返回.

有没有办法做到这一点?或许我的方法错了?也许我需要创建对Web服务的异步调用?但那么如何等待他们全部回来再继续前进?

.net asynchronous parallel-extensions

5
推荐指数
1
解决办法
2739
查看次数

使用Watir检查错误的链接

我有一个无序的链接列表,我保存到一边,我想点击每个链接,并确保它进入一个真实的页面,并没有404,500等.

问题是我不知道该怎么做.是否有一些我可以检查的对象会给我http状态代码或其他什么?

mylinks = Browser.ul(:id, 'my_ul_id').links

mylinks.each do |link|
  link.click

  # need to check for a 200 status or something here! how?

  Browser.back
end
Run Code Online (Sandbox Code Playgroud)

ruby watir

5
推荐指数
1
解决办法
5469
查看次数

每个返回值的事件的.Net多事件处理程序

如果我有一个事件,其处理程序返回一个bool,如果我附加多个事件会发生什么?

看这个例子

public class MyClass
{
 public delegate bool MyEventHandler(object sender, EventArgs e);
 public event MyEventHandler Submit;

 public void DoSubmissions()
 {
  if (Submit != null && Submit(this, null))
  {
   Console.Write("HOORAY");
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

所以在我的例子中,处理程序在成功提交时返回true.但是我为这个事件分配了两个处理程序......会发生什么?使用第一个处理程序的返回?第二个?都不是?都?

.net event-handling

3
推荐指数
1
解决办法
1128
查看次数

C#:启动多个连接时异步委托与 ThreadPool.QueueUserWorkItem

我必须发送许多 Web 服务调用来删除 Amazon SDB 中的一堆记录(不幸的是,目前一次只能删除一个行)。

我正在使用 Amazon 的 SDB c# 库,它不使用异步 WebRequests。

目前,我使用 ThreadPool.QueueUserWorkItem 对一堆调用进行排队(我配置了我的连接管理 maxconnection 以允许一堆连接),这效果很好......当请求发出时,它会阻塞并发出另一个请求。

这是实现这一目标的错误方法吗?我应该使用异步委托并执行 BeginInvoke 和 EndInvoke 吗?

c# delegates asynchronous amazon-web-services threadpool

2
推荐指数
1
解决办法
5406
查看次数

jQuery多点击处理程序..如何确保点火顺序?

我有2个点击处理程序绑定到一个元素,如下所示:

在包含我绑定的控件的文件中,我有第一个处理程序,它执行特定于该控件的一些功能

$("#mycontrol").live("click", function() { alert("foo"); });
Run Code Online (Sandbox Code Playgroud)

在使用该控件的主页面中,我有另一个处理程序绑定到该元素以获取特定于页面的功能

$("#mycontrol").live("click", function() { alert("bar"); });
Run Code Online (Sandbox Code Playgroud)

我使用'live'因为AJAX调用一直在改变控件,所以处理程序将被重新注册.但是我需要一种方法让"foo"在"bar"之前一直发生......任何建议?

jquery live event-handling

1
推荐指数
1
解决办法
2771
查看次数