小编rbo*_*man的帖子

我可以使用哪些工具来分析Internet Explorer的网络捕获日志?

我正在使用Internet Explorer 9中内置的F12开发人员工具来捕获站点上的网络流量.此信息可以保存为XML(默认)或CSV文件.

XML文件似乎包含更多信息,但我很难找到任何会读取这些信息的应用程序.

使用Internet Explorer开发人员工具网络捕获状态:

"保存"按钮使用HTTP存档架构或.CSV文件将当前HTTP会话写入XML文件.保存会话后,您可以使用任何可以读取HTTP存档文件或.CSV文件的工具打开会话.Internet Explorer 9可以导出您的数据,但它只能查看实时HTTP会话,无法读取已保存的文件.

但是,我很难在搜索HTTP存档架构时找到相关结果,虽然CSV很好,但似乎缺少一些非常好的信息.(我现在可能不需要额外的信息,但将来可能会有用.)

是否有工具或资源(XSLT或LINQPad/.NET代码段)允许在事后轻松解析此信息?

ie-developer-tools internet-explorer-9

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

MVC控制器被调用两次

我有一个控制器,从ActionLink调用中被调用两次.

我的主页有一个链接,点击时调用Play控制器上的Index方法.id为100传递给方法.我认为这是造成这个问题的原因.更多关于此的信息.

以下是一些代码段:

主页:

<%= Html.ActionLink("Click Me", "Index", "Play", new { id = 100 }, null) %>
Run Code Online (Sandbox Code Playgroud)

播放控制器:

public ActionResult Index(int? id)
{
    var settings = new Dictionary<string, string>();
    settings.Add("Id", id.ToString());
    ViewData["InitParams"] = settings.ToInitParams();
    return View();
}
Run Code Online (Sandbox Code Playgroud)

播放视图:

<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

(html <head> omitted for brevity)

<body>
    <form id="form1" runat="server" style="height:100%">
        Hello
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

如果我摆脱了Index方法的参数,一切都很好.如果我保留参数,则调用Index方法,并将100作为id.返回View后,第二次调用该方法,参数为null.

我似乎无法弄清楚是什么触发了第二次通话.

我的第一个想法是添加这样的特定路线:

routes.MapRoute(
    "Play", // Route name
    "Play/{id}", // URL with parameters
    new {controller = "Play", action = "Index"} // Parameter defaults …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-2

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

Visual Studio 2010不会重新加载打开的文件

在今天之前,如果我退出VS2010并重新打开它,我之前打开的解决方案已加载,任何以前打开的文件都会重新加载并显示在正确的位置.

但是,现在重新打开解决方案,但不重新加载文件.我打开的所有文件都已关闭.

我没有更改任何设置或执行任何特定的操作来阻止此行为.通过选项对话框面板,我看不到任何适用于此行为的内容.

是什么赋予了?

visual-studio-2010

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

使用AutoMapper映射字典

鉴于这些类,我如何映射它们的字典?

public class TestClass
{
    public string Name { get; set; }
}

public class TestClassDto
{
    public string Name { get; set; }
}


Mapper.CreateMap<TestClass, TestClassDto>();
Mapper.CreateMap<Dictionary<string, TestClass>, 
                  Dictionary<string, TestClassDto>>();

var testDict = new Dictionary<string, TestClass>();
var testValue = new TestClass() {Name = "value1"};
testDict.Add("key1", testValue);

var mappedValue = Mapper.Map<TestClass, TestClassDto>(testValue);

var mappedDict = Mapper.Map<Dictionary<string, TestClass>, 
                            Dictionary<string, TestClassDto>>(testDict);
Run Code Online (Sandbox Code Playgroud)

在这种情况下映射其中一个,mappedValue,工作正常.

映射它们的字典最终没有目标对象中的条目.

我在做什么?

automapper

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

在绑定中使用$ index时,Knockout不会计算表达式

为什么,当我尝试使用knockout.js使用$ index绑定一些文本时,我得到函数的代码而不是数字?

<tbody  data-bind="foreach: MyList">
  <tr>
    <td><span data-bind="text: $index + 1"></span></td>
  </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

而不是获得1,2,3等,我得到这个:

在此输入图像描述

您可以通过上图中的最后一个字符看到我的零索引被添加到1.如果我从绑定中删除'+ 1',我得到0,1,2而不是函数.

我怎么告诉淘汰赛评估表达?我提交表单时遇到同样的问题.我的字符串字段作为函数而不是值提交.

knockout-2.0 knockout.js

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

更新ConcurrentDictionary中的值字段

我正在尝试更新ConcurrentDictionary中的条目,如下所示:

class Class1
{
    public int Counter { get; set; }
}

class Test
{
    private ConcurrentDictionary<int, Class1> dict =
        new ConcurrentDictionary<int, Class1>();

    public void TestIt()
    {
        foreach (var foo in dict)
        {
            foo.Value.Counter = foo.Value.Counter + 1; // Simplified example
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上我需要遍历字典并更新每个Value上的字段.我从文档中了解到我需要避免使用Value属性.相反,我认为我需要使用TryUpdate,除了我不想替换我的整个对象.相反,我想更新对象上的字段.

在PFX团队博客上阅读此博客条目之后:也许我需要使用AddOrUpdate并且在添加委托中什么也不做.

有没有人对如何做到这一点有任何见解?


我在字典中有成千上万的对象,我需要每30秒左右更新一次.创建新的以更新属性可能是不可行的.我需要克隆现有对象,更新它并替换字典中的对象.我还需要在克隆/添加周期的持续时间内锁定它.呸.

我想做的是迭代对象并尽可能直接更新Counter属性.

我的最新研究让我看到了Parallel.ForEach,这听起来很棒,但不应该用于更新状态的动作.

我也看到了Interlocked.Increment的提及听起来不错,但我仍然需要弄清楚如何以线程安全的方式在我的字典中的每个元素上使用它.

c# concurrency .net-4.0

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

在Knockout中使用布尔值的attr绑定

我试图从我的viewModel中的布尔值创建一个隐藏的表单字段.

    <tbody  data-bind="foreach: MediaFiles">
        <tr>
            <td>
                <input type="hidden" 
                        data-bind="attr: { value: MyBool }" />
            </td>
        </tr>
    </tbody>  
Run Code Online (Sandbox Code Playgroud)

我需要根据视图模型中的内容将输入值设置为"true"或"false".为清楚起见,省略了其他属性.

使用knockout的绑定功能实现这一目标的最佳方法是什么?

knockout-2.0 knockout.js

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

DynamicObject和WCF支持

我想知道是否有人有幸获得一个DynamicObject序列化和使用WCF?

这是我的小测试:

[DataContract]
class MyDynamicObject : DynamicObject
{
    [DataMember]
    private Dictionary<string, object> _attributes =
       new Dictionary<string, object>();

    public override bool TryGetMember(GetMemberBinder binder, out object result)
    {
        string key = binder.Name;

        result = null;

        if (_attributes.ContainsKey(key))
            result = _attributes[key];

        return true;
    }

    public override bool TrySetMember(SetMemberBinder binder, object value)
    {
        _attributes.Add(binder.Name, value);

        return true;
    }
}

var dy = new MyDynamicObject();
var ser = new DataContractSerializer(typeof(MyDynamicObject));
var mem = new MemoryStream();
ser.WriteObject(mem, dy);
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

System.Runtime.Serialization.InvalidDataContractException未处理Message = Type'ElasticTest1.MyDynamicObject'无法从未使用DataContractAttribute或SerializableAttribute标记的类型继承.请考虑使用DataContractAttribute或SerializableAttribute标记基本类型"System.Dynamic.DynamicObject",或者从派生类型中删除它们.

有什么建议?

c# dynamic-language-runtime c#-4.0

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

将bootstraps tr悬停效果应用于div

我正在使用Bootstrap作为我的css主题.主题被编译并保存到数据库中以供以后使用.这意味着页面只能访问已编译的css,而不能访问较少的文件.

鉴于此,我如何将Bootstrap的tr:hover效果应用于各种div?我需要颜色与定义的颜色相同tr:hover,我不能使用更少的变量.

Bootstrap的风格:

.table tbody tr:hover td,
.table tbody tr:hover th {
  background-color: #f5f5f5;
}
Run Code Online (Sandbox Code Playgroud)

是否可以根据分配给tr?的另一个css元素来定义?有没有办法使用jQuery获取样式?

有什么建议?

css twitter-bootstrap

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

将Lambda与词典结合使用

我正在尝试使用LINQ从字典中检索一些数据.

    var testDict = new Dictionary<int, string>();
    testDict.Add(1, "Apple");
    testDict.Add(2, "Cherry");

    var q1 = from obj in testDict.Values.Where(p => p == "Apple");
    var q2 = from obj in testDict.Where(p => p.Value == "Apple");
Run Code Online (Sandbox Code Playgroud)

上面的行q1和q2都导致编译器错误.

error CS0742: A query body must end with a select clause or a group clause
Run Code Online (Sandbox Code Playgroud)

如何使用LINQ在字典中查找值?

谢谢,

干草堆

c# linq lambda

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