小编Arn*_*kas的帖子

如何在c#/ .net中记录抛出的异常

我目前正在编写一个小框架,将由公司内部的其他开发人员在内部使用.

我想提供良好的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()吗?

记录可能的异常的最佳方法是什么?

.net c# documentation intellisense

136
推荐指数
4
解决办法
5万
查看次数

如何为smtp进行web.config转换?

我在我的根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.我还不确定如何改造.

smtp web-config xdt-transform

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

Lego MindStorms是基本机器人开发的不错选择吗?

我想学习如何编写用于控制机器人的软件.

乐高MindStorms是一个很好的选择吗?还有更好的选择吗?

我更喜欢MindStorms,但在阅读了几篇文章之后,我得到的结论是Lego已经停止了对MindStorms的研究和开发.

你有什么建议?

robotics lego-mindstorms lego nxt

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

是否可以在Moq中传递参数值?

我需要以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写代码时会发生什么

c# testing moq mocking

27
推荐指数
2
解决办法
8801
查看次数

如何从ASP.NET MVC RC1中的ViewResult获取模型数据?

给定以下控制器类:

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的了解非常有限,但我的猜测是我没有使用正确的上下文设置控制器.

有什么建议?

c# asp.net-mvc unit-testing

24
推荐指数
2
解决办法
9592
查看次数

创建Sitecore项目的链接

我知道我以前做过这个,但我似乎无法记住在哪里或如何.

我想在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)

sitecore sitecore6

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

我有15分钟时间向同事们展示ASP.NET MVC.我应该关注哪些主题?

自从它推出RTM之前,我一直在将ASP.NET MVC用于个人项目.

我正在为同事准备一个演示文稿,向他们介绍ASP.NET MVC的基本概念,并向他们展示如何在我们的环境中使用它.

我的演讲有15分钟的限制.有很多信息要传递(特别是如果你考虑像MVCContrib和各种博客文章这样的项目).

我应该关注哪些主题?

一些背景:我在一家数字代理公司工作.我的同事是具有3年以上ASP.NET经验的.NET开发人员.

到目前为止有什么建议:

  • 想要切换到ASP.NET MVC的原因
  • 路由
  • ActionResults(提供不同回复的能力)
  • 请求 - 响应内部
  • 可测性
  • 脚手架(T4模板)
  • 对HTML输出进行细粒度控制
  • 关注点分离 ()
  • ASP.NET WebForms和ASP.NET MVC之间的差异

asp.net-mvc

17
推荐指数
3
解决办法
2391
查看次数

如何在测试期间处理陈旧的索引?

我在内存模式下使用RavenDB进行单元测试.我的查询由静态索引支持.我没有使用WaitForNonStaleResults()API(我也不想).

测试的典型工作流程是:

  1. 在In-Memory模式下初始化RavenDB
  2. 使用集成索引 IndexCreation.CreateIndexes(Assembly, IDocumentStore)
  3. 插入测试数据(用于验证查询行为)
  4. 运行查询
  5. 验证查询输出

我注意到步骤1-3发生得如此之快,静态索引没有时间在步骤4之前得到更新 - 因此索引是陈旧的.

我为此创建了一个快速的解决方案.在第3步之后,我执行:

while (documentStore.DocumentDatabase.Statistics.StaleIndexes.Length != 0)
    Thread.Sleep(10);
Run Code Online (Sandbox Code Playgroud)

这感觉很麻烦.我想知道的是:

  • 在In-Memory模式下运行RavenDB时,索引是否过时是正常的?
  • 在测试期间是否有更好的方法来避免过时的索引?

c# testing indexing ravendb

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

外部链接所需的OnUnload消息

我需要一个消息脚本,只有当人们离开当前网页而不是当前网站时才会出现.

当人们完全离开网站时,会出现消息,他们需要按OK按钮才能保持当前页面(并取消离开网站).

当人们真正留在网站上或点击内部链接或页面时,脚本可能无法运行.

可以这样做吗?

javascript message onunload

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

你希望FxCop/Gendarme有什么规则?

您希望将哪些可定义的静态代码检查规则添加到FxCop和/或Gendarme中?

您为什么希望看到添加规则,例如有什么好处?

你的规则如何实施?

fxcop static-code-analysis gendarme

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