我正在使用JMeter加载测试驻留在SharePoint 2007站点中的一些页面.包含页面的服务器场位于与运行测试的计算机不同的域中,并使用Windows身份验证.与服务器的连接是通过未加密(非SSL)连接进行的.因此,我需要将登录凭据传递给服务器.
如何使用Windows身份验证配置JMeter以登录服务器?
我正在编写一个方法,旨在返回一个充满配置键和值的字典.构建这个字典的方法是动态的,所以我需要将这组键和值作为集合(可能IDictionary<string, string>)返回.在我的各种读物中(来源逃避了我),关于从方法调用返回集合类型的一般共识不是.
我理解这个政策的原因,我倾向于同意,但在这种情况下,我看不到其他选择.这是我的问题:有没有办法可以将这些数据返回给调用者,同时遵循这个原则?
编辑:我听到不允许这种行为的原因是,客户端要使用(但未修改)的集合或字典类型会暴露太多行为,从而产生调用者可以修改类型的错觉.例如,Dictionary具有Add和Remove方法,以及一个可变索引器.如果字典中的值是只读的,那么这些方法充其量是多余的.如果内部集合被暴露,则可以进一步造成损害,并且集合的"所有者"不会预期从外部来源对集合进行更改.
还有其他原因我听说过,但我无法回想起它们 - 这些是我的情况中最相关的.
编辑:更多说明:我遇到的问题是我正在构建一个API,所以我无法控制调用此函数的客户端.克隆字典不是问题,但我试图让我的API保持尽可能干净.使用"添加"和"删除"等方法返回字典意味着可以或应该修改集合,但实际情况并非如此.这里的修改是没有意义的,所以我不想通过返回类型的接口公开该功能的承诺.
解决方案:为了满足我对干净API的需求,我将编写一个自定义的Dictionary类,它不会公开变异方法Add和Remove,或者设置索引器.这种类型不会实现IDictionary,但我会编写一个方法ToDictionary来返回一个数据IDictionary.它将实现IEnumerable<KeyValuePair<TKey, TValue>>,以便访问可枚举的标准LINQ操作.现在我需要的是我的自定义词典类型的名称... =)谢谢大家.
我想创建一个静态帮助方法,我可以从视图中调用.
辅助方法是否可以访问当前的ViewContext而无需将ViewContext作为参数显式传递给方法?
类似于HttpContext.Current,除了ViewContext.
我有一个JasperReport模板(在服务器上生成),带有样式文本字段(RTF).此字段的内容是用户生成的,因此它可以包含客户端PC上安装的所有字体(称为字体X).如果我现在在服务器上生成报告,则没有字体X,所以我想将所有未知字体替换为字体Y.
但我得到的只是一个错误,找不到字体.通常不需要关闭字体检查的功能(net.sf.jasperreports.awt.ignore.missing.font),因为我想检查jrxml的字体.
有没有办法设置默认字体(没有修改Jasper源)?(我已在JRStyledText或JRTextUtil中找到了一些要点.)
在开发过程中,我有一个Web用户控件项目和另一个Web项目,它将使用Web用户控件项目中的用户控件.
所以我将DocControl.ascx文件复制到我的web项目并尝试使用DocControl.ascx的属性.但VS不知道控件的属性.所以当我检查designer.cs时,引用就是这样的
protected global::System.Web.UI.UserControl Control;
Run Code Online (Sandbox Code Playgroud)
应该是哪个
protected global::MSN.DocControl Control;
Run Code Online (Sandbox Code Playgroud)
所以我将控件的名称从System.Web.UI.UserControl更改为MSN.DocControl,我可以使用DocControl.ascx的属性.
但我的问题是每当我修改(例如,在aspx中放置一个标签)aspx文件时,designer.cs中的引用就变成了
protected global::System.Web.UI.UserControl Control;
Run Code Online (Sandbox Code Playgroud)
因此,每当我修改我的aspx时,我都必须更改它.
我该怎么办,所以我不需要更改designer.cs
提前致谢......
我收到第84行和第85行的消息(两个,使用行堆叠):
CA2000:Microsoft.Reliability:在方法'RavenDataAccess.GetRavenDatabase()'中,对象'<> g_ initLocal9'未沿所有异常路径放置.在对对象'<> g _initLocal9'的所有引用都超出范围之前,调用System.IDisposable.Dispose.
DocumentStore实现了IDisposable.
为什么?我还能如何处置DocumentStore对象?它们是在一个使用块中创建的,我将它们放在我的catch块中.该如何修复?
private static IDocumentStore GetRavenDatabase()
{
Shards shards = new Shards();
try
{
using (DocumentStore docStore1 = new DocumentStore { Url = ConfigurationManager.AppSettings["RavenShard1"] }) // Line 84
using (DocumentStore docStore2 = new DocumentStore { Url = ConfigurationManager.AppSettings["RavenShard2"] }) // Line 85
{
shards.Add(docStore1);
shards.Add(docStore2);
}
using (ShardedDocumentStore documentStore = new ShardedDocumentStore(new ShardStrategy(), shards))
{
documentStore.Initialize();
IndexCreation.CreateIndexes(typeof(RavenDataAccess).Assembly, documentStore);
return documentStore;
}
}
catch
{
shards.ForEach(docStore => docStore.Dispose());
throw;
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下型号:
public class Filter
{
public string Field { get; set; }
public string Operator { get; set; }
public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
以下控制器:
public class FilterController
{
public ActionResult Index()
{
IList<Filter> model = new List<Filter>() {
new Filter(),
new Filter()
};
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
以下观点:
@model IEnumerable<Filter>
@Html.EditorForModel()
Run Code Online (Sandbox Code Playgroud)
这应该查找我的EditorTemplate Filter.cshtml,并为列表中的每个元素渲染模板,对吧?
使用Glimpse,我注意到MVC正在寻找IEnumerable`1.cshtml而不是Filter.cshtml
我使用时会发生同样的事情
@Html.EditorFor(model => model)
Run Code Online (Sandbox Code Playgroud)
当我这样做:
@Html.EditorFor(model => model, "Filter")
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说它Filter.cshtml期待一个类型的模型,Filter但它收到了一个类型的模型IEnumerable<Filter>
我这样做了吗?我是否需要做任何其他事情才能使用正确的编辑器模板正确渲染模型列表?
这个问题已经开启/关闭困扰我,我现在写了4个封装.我确信我做错了,需要找出我的理解分支的地方.
假设我使用Rectangle类来表示金属条.(这比动物更好)
所以说基类叫做"Bar".
private class Bar
{
internal Rectangle Area;
}
Run Code Online (Sandbox Code Playgroud)
所以.现在我们制作一个矩形,比如300个单位乘10个单位.
private Bar CreateBar()
{
Bar1 = new Bar1();
Bar1.Area = new Rectangle(new Point(0,0), new Size(300,10));
return Bar1;
}
Run Code Online (Sandbox Code Playgroud)
很棒,所以我们有一个基础吧.
现在让我们说我们想让这个酒吧有一种材料 - 比如钢铁.所以...
private class SteelBar : Bar
{
string Material;
}
Run Code Online (Sandbox Code Playgroud)
所以,如果我这样做...
private SteelBar CreateSteelBar()
{
SteelBar SteelB = new SteelB();
Bar B = CreateBar();
SteelB = B;
SteelB.Material = "Steel";
return SteelB;
}
Run Code Online (Sandbox Code Playgroud)
从我得到的内容,如果我调用CreateSteelBar,它会创建一个调用CreateBar的钢条.所以我最终得到了一个带有300×10矩形的钢筋,以及一个用于材料的无绳或空绳.然后我将材料设置为钢.
当我在我的程序中尝试类似的东西时,它一直在告诉我不能隐含地从较低级别的类中创建更高级别的类.考虑到我所看到的动物实例的所有遗传,我想这就是继承存在的原因,但我希望有人可以让我知道.
此外,我确信我可以打电话,SteelBar = CreateBar();但我在这里做了很长的路.
我读程序员修炼:从中级到主由安德鲁·亨特,大卫·托马斯.当我读到一个叫做正交性的术语时,我在想我正确的做法.我很了解它.然而,在本章的最后,提出了一些问题来衡量对该主题的理解程度.当我试图回答这些问题时,我意识到我并没有完全理解它.所以为了澄清我的理解,我在这里问这些问题.
C++支持多重继承,Java允许类实现多个接口.使用这些设施对正交性有何影响?使用多重继承和多个接口之间的影响是否存在差异?
我一直在寻找有关魔兽世界插件API的第一手信息。有几个不错的Wiki,但是它们的参考链接仅指向内部。当然,暴雪发布了一些有关该主题的信息。
是否可以从逆向工程和论坛中真正收集他们的所有信息?我很难相信这一点。
c# ×4
asp.net ×2
.net ×1
add-on ×1
asp.net-mvc ×1
ca2000 ×1
class ×1
collections ×1
conceptual ×1
dispose ×1
idisposable ×1
ienumerable ×1
inheritance ×1
java ×1
jmeter ×1
lua ×1
lua-api ×1
orthogonal ×1
ravendb ×1
razor ×1
sharepoint ×1
viewcontext ×1