小编Rob*_*per的帖子

C#反射:在解决方案中获取*所有*活动程序集?

继承人我的问题:

我有两个项目 - 一个'常见'项目,其行为类似于具有各种支持代码的库,以及在许多调用中使用该项目的实际程序.我们将这些项目称为"共同"和"程序".他们都在同一个解决方案中.

在"Common"中,我有一个用于commo反射任务的类,比如创建一个实例.如果我调用GetExecutingAssembly,它将获得所有"公共"类型,但是当我使用GetEntryAssembly时,我得到"程序"类型.

虽然我当然可以编辑代码以使用2套asm,但我担心解决方案中不仅仅有2个项目的情况 - 比方说5(不知道为什么,但让我们去那里现在),我担心调用GetExecutingAssembly和GetEntryAssembly不会获得整个程序中的所有类型.

还有其他方法可以让所有类型都在解决方案中吗?

c# reflection

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

通知开发人员"不要使用"方法

好的,我知道你在想什么,"为什么写一个你不希望别人使用的方法?" 对?

好吧,简而言之,我有一个需要序列化为XML的类.为了XmlSerializer实现它的魔力,该类必须具有默认的空构造函数:

public class MyClass
{
  public MyClass()
  {
    // required for xml serialization
  }
}
Run Code Online (Sandbox Code Playgroud)

所以,我需要拥有它,但我不希望人们使用它,所以是否有任何属性可用于将方法标记为"不使用"?

我正在考虑使用Obsolete属性(因为这可以阻止构建),但这看起来有点"错误",还有其他方法可以做到这一点,还是我需要继续坚持下去?:)

更新

好吧,我接受了基思的回答,因为我心里想,我完全同意.这就是我首先提出这个问题的原因,我不喜欢拥有过时属性的概念.

然而...

仍然是一个问题,而我们则是在智能感知被通知,理想情况下,我们想打破建立,那么,有没有办法做到这一点?也许创建一个自定义属性?

这里创建更集中的问题.

.net attributes

26
推荐指数
3
解决办法
5500
查看次数

ASP.NET母版页和内容页中的表单元素

好的,我当前项目中的另一个路障.

我的主页和内容页面中没有表单元素,我倾向于在相关的内容中包含所有表单.

然而,在当前的项目中,我们有一个他们想要的页面.右上角的登录表单,以及内容中的问题表单.

试图搞定这个,我已经遇到了ASP.NET抱怨在母版页中需要单个表单元素的问题.TBH,我真的不明白为什么这是ASP.NET的要求,但是嘿嘿.

有谁知道我是否/如何让主页和内容页面包含独立工作的表单元素?

如果没有,您能提供有关如何获得所需外观/功能的建议吗?

forms asp.net webforms master-pages

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

ASP.NET自定义控件 - 复合材料

摘要

大家好,
好的,进一步了解我的自定义控件冒险......

总之,这是我已经了解了自定义控件的三个主要"类".如果有任何错误,请随时纠正我!

  1. UserControls - 继承自UserControl并包含在ASCX文件中.这些在他们能做的事情上非常有限,但是通过设计师支持获得一些UI通用性是一种快速而轻松的方式.
  2. 自定义复合控件 - 这些是从WebControl继承的控件,您可以在CreateChildControls方法中向控件添加预先存在的控件.这提供了极大的灵活性,但缺乏设计师支持而无需额外编码.它们是高度可移植的,因为它们可以编译成DLL.
  3. 自定义渲染控件 - 与自定义复合控件类似,这些控件将添加到Web控件库项目中.控制器的渲染完全由程序员通过重写Render方法来控制.

我的想法..

好的,所以在玩自定义复合材料时,我发现了以下内容:

  • 您很少/无法控制HTML输出,因此难以"调试".
  • 的CreateChildControls(以及随后的方法)可以得到真正的忙Controls.Add被(myControl)无处不在.
  • 我发现渲染表(无论是布局还是内容)都非常笨拙.

问题..

所以,我承认,我是新手,所以我可能会偏离上面提到的一些观点.

  • 你使用复合材料吗?
  • 你有任何巧妙的技巧来控制HTML输出吗?
  • 你只是说"地狱般的"并继续创建自定义渲染控件吗?

因为我知道有多少好的控制开发可以缩短整体开发时间,所以我很想在脑子里真正坚定.

我期待你的回答^ _ ^

.net c# asp.net user-controls controls

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

Sys.WebForms.PageRequestManagerServerErrorException 12031

我偶尔会从AJAX.NET应用程序中获取以下弹出窗口

Sys.WebForms.PageRequestManagerServerErrorException: An Unknown error occurred while processing the request on the server. The status code returned from the server was: 12031

Microsoft kb,状态代码指示ERROR_INTERNET_CONNECTION_RESET,但它没有说明首先触发错误的根本问题是什么.

如何记录/跟踪/ etc生成弹出窗口的基础错误?

asp.net exception-handling asp.net-ajax

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

什么是从多个线程进行单元测试的最佳方法?

这是从我的另一个问题开始的.

基本上,一旦我有代码访问该文件(将在一分钟内审查答案)什么是最好的测试方法?

我正在考虑创建一个方法,它只生成大量的BackgroundWorker或者其他东西,告诉他们所有加载/保存文件,并测试不同的文件/对象大小.然后,从线程中获取响应以查看它是否失败/成功/使世界崩溃等.

你能提出任何关于最佳方法的建议吗?正如我之前所说,这对我来说有点新鲜:)

编辑

ajmastrean的帖子:

我正在使用控制台应用程序来测试Debug.Asserts :)


更新

我最初使用BackgroundWorker来处理线程(因为我已经习惯了来自Windows开发)我很快就意识到当我执行测试时需要完成多个操作(线程)才能继续,我意识到这将是让它做到这一点有点破解.

然后我跟进了ajmastrean的帖子并意识到我应该使用Thread类来处理并发操作.我现在将使用这种方法进行重构(虽然是一种不同的方法).

c# testing multithreading unit-testing

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

实施类/方法的属性装饰

继我最近关于大型复杂对象作为Web服务结果的问题之后.我一直在考虑如何确保所有未来的子类都可以序列化为XML.

现在,显然我可以实现IXmlSerializable接口然后读取它的读者/写入器,但我想避免它,因为它意味着我需要在我想要的时候实例化读写器,并且99.99%的时间我将使用字符串,所以我可能只写自己的字符串.

但是,要序列化为XML,我只是用Xml来装饰类及其成员??? 属性(XmlRoot,XmlElement等),然后将其传递给XmlSerializerStringWriter以获取字符串.这一切都很好.我打算把方法返回到一个通用的实用工具方法,所以我不需要担心类型等.

我担心的是:如果我没有使用必需的属性装饰类,则在运行时才会抛出错误.

有没有办法强制执行属性修饰?可以用FxCop完成吗?(我还没用过FxCop)

更新:

很抱歉让这个关闭的人有很多关闭,很多事要做!

绝对喜欢在测试用例中使用反射来实现它的想法,而不是诉诸于FxCop(喜欢把所有东西放在一起).. Fredrik Kalseth的答案很棒,感谢包含代码,因为它可能会让我有点挖掘弄清楚自己该怎么做!

+1给其他人类似的建议:)

c# xml serialization coding-style .net-attributes

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

在应用程序中究竟什么是"业务逻辑"?

我听过很多次,我们不应该将业务逻辑与其他代码或类似的语句混合在一起.我认为我编写的每一个代码(我的意思是处理步骤)都包含与业务需求相关的逻辑.

谁能告诉我究竟什么是业务逻辑?如何区别于其他代码?是否有一些简单的测试来确定什么是业务逻辑,什么不是?

business-logic-layer

15
推荐指数
4
解决办法
3604
查看次数

带有Protocol的RouteValueDictionary的Url.Action

一直在看这个,觉得我只是愚蠢想要更多的目光...

我需要生成一个完整的URL,(例如http://www.domain.com/controller/action?a=1&b=2),通常我只是Url.Action通过指定协议来做到这一点而没有问题:

var url = Url.Action("Action", "Controller", new { a = 1, b = 2 }, "http");
Run Code Online (Sandbox Code Playgroud)

我已经开始组建一个返回a的类,RouteValueDictionary以使这些匿名对象消失.但是,我不能让它与帮助者一起工作.

var x = Url.Action("Action", "Controller", new RouteValueDictionary(new { a = 1, b = 2 }), "http");
// "http://127.0.0.1/Controller/Action?Count=2&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D",

var y = Url.Action("Action", "Controller", new { a = 1, b = 2 }, "http");
// "http://127.0.0.1/Controller/Action?a=1&b=2"
Run Code Online (Sandbox Code Playgroud)

任何导致facepalm的指针都非常感谢:)

更新:

最好澄清一下,在上面的示例中,我需要让' X'变量正常工作,因为RouteValueDictionary是在代码的其他地方创建的.假设RouteValueDictionary是正确的.

我只是不明白为什么这适用于匿名对象,但包裹在同一对象中的相同对象包含在一个RouteValueDictionary帮助器中.

asp.net-mvc

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

大型复杂对象作为Web服务结果

你好再次女士们和男士们!

好的,继续我关于ASP.NET Web服务结果,代理类和类型转换的其他问题.我参与了我的项目,我需要在思考上限.

基本上,我们有一个大型,复杂的自定义对象,需要从Web服务返回并在客户端应用程序中使用.

现在,基于前面的讨论,我们知道这将采用代理类的形式作为返回类型.为了克服这个问题,我们需要基本上将属性从一个复制到另一个.

在这种情况下,这是我真的,​​真的,真的!喜欢避免!

所以,它让我思考,我们怎么能这样做?

我目前的想法是将对象完全序列化为XML,然后将XML作为字符串从Web Service返回.然后我们在客户端反序列化.这将意味着相当多的属性装饰,但至少两个端点的代码都很轻,即只使用.NET XML Serializer.

你对此有何看法?

c# xml asp.net serialization web-services

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