我目前正在编写一个小框架,将由公司内部的其他开发人员在内部使用.
我想提供良好的Intellisense信息,但我不知道如何记录抛出的异常.
在以下示例中:
public void MyMethod1()
{
MyMethod2();
// also may throw InvalidOperationException
}
public void MyMethod2()
{
System.IO.File.Open(somepath...); // this may throw FileNotFoundException
// also may throw DivideByZeroException
}
Run Code Online (Sandbox Code Playgroud)
我知道记录异常的标记是:
/// <exception cref="SomeException">when things go wrong.</exception>
Run Code Online (Sandbox Code Playgroud)
我不明白的是如何记录被调用的 代码引发的异常MyMethod1()?
MyMethod2()File.Open()吗?记录可能的异常的最佳方法是什么?
我在我的根web.config中有这个
<mailSettings>
<smtp from="no-reply@test.com" deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\temp"/>
<network host="localhost"/>
</smtp>
</mailSettings>
Run Code Online (Sandbox Code Playgroud)
当然,当我把它放到我的托管服务器时,我不希望它保存到硬盘我希望它发送电子邮件.
所以我会有这样的事情
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.mysite.com" userName="myuser" password="mypassword" />
</smtp>
</mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
我怎么能把它放在我的web.release.config中?我应该只更换mailSettings.我还不确定如何改造.
我想学习如何编写用于控制机器人的软件.
乐高MindStorms是一个很好的选择吗?还有更好的选择吗?
我更喜欢MindStorms,但在阅读了几篇文章之后,我得到的结论是Lego已经停止了对MindStorms的研究和开发.
你有什么建议?
我需要以HttpResponseBase.ApplyAppPathModifier这样的方式进行模拟,即ApplyAppPathModifier模拟自动返回调用参数.
我有以下代码:
var httpResponseBase = new Mock<HttpResponseBase>();
httpResponseBase.Setup(hrb => hrb.ApplyAppPathModifier(/*capture this param*/))
.Returns(/*return it here*/);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑:
在Moq文档的第一页(http://code.google.com/p/moq/wiki/QuickStart)上找到了解决方案:
var httpResponseBase = new Mock<HttpResponseBase>();
httpResponseBase.Setup(hrb => hrb.ApplyAppPathModifier(It.IsAny<string>)
.Returns((string value) => value);
Run Code Online (Sandbox Code Playgroud)
我突然觉得很愚蠢,但我想这就是你在23:30写代码时会发生什么
给定以下控制器类:
public class ProjectController : Controller
{
public ActionResult List()
{
return View(new List<string>());
}
}
Run Code Online (Sandbox Code Playgroud)
如何在以下单元测试中获得对模型对象的引用?
public class ProjectControllerTests
{
private readonly ProjectController controller;
public ProjectControllerTests()
{
controller = new ProjectController();
}
[Fact]
public void List_Action_Provides_ProjectCollection()
{
var result = (ViewResult)controller.List();
Assert.NotNull(result);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试单步执行控制器操作以查看正在设置的内部字段,但没有运气.
我对ASP.NET MVC的了解非常有限,但我的猜测是我没有使用正确的上下文设置控制器.
有什么建议?
我知道我以前做过这个,但我似乎无法记住在哪里或如何.
我想在Sitecore中创建一个Item的链接.这段代码:
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();
Run Code Online (Sandbox Code Playgroud)
生成以下字符串:
http://localhost/sitecore/content/Home/Item1/Item11/thisItem
Run Code Online (Sandbox Code Playgroud)
我想要这个字符串:
http://localhost/Item1/Item11/thisItem.aspx
Run Code Online (Sandbox Code Playgroud)
获取项目路径的正确方法是什么?在这种情况下,我无法使用正常的Sitecore链接:
Sitecore.Web.UI.WebControls.Link
Run Code Online (Sandbox Code Playgroud) 自从它推出RTM之前,我一直在将ASP.NET MVC用于个人项目.
我正在为同事准备一个演示文稿,向他们介绍ASP.NET MVC的基本概念,并向他们展示如何在我们的环境中使用它.
我的演讲有15分钟的限制.有很多信息要传递(特别是如果你考虑像MVCContrib和各种博客文章这样的项目).
我应该关注哪些主题?
一些背景:我在一家数字代理公司工作.我的同事是具有3年以上ASP.NET经验的.NET开发人员.
到目前为止有什么建议:
我在内存模式下使用RavenDB进行单元测试.我的查询由静态索引支持.我没有使用WaitForNonStaleResults()API(我也不想).
测试的典型工作流程是:
IndexCreation.CreateIndexes(Assembly, IDocumentStore)我注意到步骤1-3发生得如此之快,静态索引没有时间在步骤4之前得到更新 - 因此索引是陈旧的.
我为此创建了一个快速的解决方案.在第3步之后,我执行:
while (documentStore.DocumentDatabase.Statistics.StaleIndexes.Length != 0)
Thread.Sleep(10);
Run Code Online (Sandbox Code Playgroud)
这感觉很麻烦.我想知道的是:
我需要一个消息脚本,只有当人们离开当前网页而不是当前网站时才会出现.
当人们完全离开网站时,会出现消息,他们需要按OK按钮才能保持当前页面(并取消离开网站).
当人们真正留在网站上或点击内部链接或页面时,脚本可能无法运行.
可以这样做吗?
您希望将哪些可定义的静态代码检查规则添加到FxCop和/或Gendarme中?
您为什么希望看到添加规则,例如有什么好处?
你的规则如何实施?
c# ×4
asp.net-mvc ×2
testing ×2
.net ×1
fxcop ×1
gendarme ×1
indexing ×1
intellisense ×1
javascript ×1
lego ×1
message ×1
mocking ×1
moq ×1
nxt ×1
onunload ×1
ravendb ×1
robotics ×1
sitecore ×1
sitecore6 ×1
smtp ×1
unit-testing ×1
web-config ×1