我正在序列化包含DateTime属性的类.
public DateTime? Delivered { get; set; }
Run Code Online (Sandbox Code Playgroud)
序列化Delivered节点包含DateTime格式如下:
2008-11-20T00:00:00
Run Code Online (Sandbox Code Playgroud)
如何更改此属性使其如下所示:
2008-11-20 00:00:00
Run Code Online (Sandbox Code Playgroud)
提前致谢
我必须重写一个旧的应用程序,我想开始使用存储库模式进行数据访问,并为所需的功能编写尽可能多的测试.
您能否推荐一些视频/指南,其中包含更复杂的TDD示例,包括假存储库或域模型(最好从头开始)?
tdd domain-driven-design ddd-repositories repository-pattern
使用ASP.NET我需要更新Excel模板.
我们的服务器以64位模式运行Windows 2008.
我使用以下代码访问excel文件:
...
string connection =
@"Provider=MSDASQL;Driver={Microsoft Excel Driver (*.xls)};DBQ=" + path + ";";
...
Run Code Online (Sandbox Code Playgroud)
如果应用程序池设置为启用32位应用程序,则代码按预期工作; 但是我使用的oracle驱动程序失败,因为它只有64位.
如果启用32位应用程序设置为false,则Excel代码将失败并显示错误:
未找到数据源名称且未指定默认驱动程序
有什么建议?
实际上我和我的朋友正在尝试学习和使用eclipse 3.4并且我们在工作时遇到了堆内存问题,我的朋友建议增加内存分配到eclipse ide,因为他有4GB内存并且他想分配足够的堆,分配体面的perm大小,并启用并行垃圾收集到这个日食ide.
我们人们无法通过修改eclipse.ini文件来实现这一点,他想为eclipse分配1GB的RAM.
请帮助我们
谢谢
我一直在使用第三方基于Java的REST Web服务,它返回一个xmlNodes数组.
xmlNode []重新呈现一个对象,我试图找出在对象中反序列化xmlNode []的最佳方法?是首先建立一个xmlDocument和Deserialize?
谢谢
这个问题是Jeffery Palermo关于如何解决分支代码和依赖注入问题的结果http://jeffreypalermo.com/blog/constructor-over-injection-anti-pattern/
在他的帖子中,Jeffery有一个class(public class OrderProcessor : IOrderProcessor),在构造函数上有2个接口.一个是验证器IOrderValidator和IOrderShipper接口.他的方法代码只在IOrderValidator接口上使用方法后才会分支,从不在IOrderShipper接口上使用任何东西.
他建议创建一个工厂,调用静态方法来获取接口的委托.他正在重构的代码中创建一个新对象,这似乎是不必要的.
我想问题的关键在于我们使用IoC来构建所有对象,无论它们是否被使用. 如果您实例化一个具有2个接口的对象并且具有可以分支以不使用其中一个的代码,那么您如何处理它?
在这个例子中,我们假设_validator.Validate(order)always总是返回false,并且IOrderShipper.Ship()永远不会调用该方法.
原始代码:
public class OrderProcessor : IOrderProcessor
{
private readonly IOrderValidator _validator;
private readonly IOrderShipper _shipper;
public OrderProcessor(IOrderValidator validator, IOrderShipper shipper)
{
_validator = validator;
_shipper = shipper;
}
public SuccessResult Process(Order order)
{
bool isValid = _validator.Validate(order);
if (isValid)
{
_shipper.Ship(order);
}
return CreateStatus(isValid);
}
private SuccessResult CreateStatus(bool isValid)
{
return isValid ? SuccessResult.Success …Run Code Online (Sandbox Code Playgroud) 我个人喜欢从C#代码配置StructureMap的选项.根据我的理解,DI的优点之一是我们可以轻松交换新的具体实例.但是,如果配置是在代码中定义的,那么具体实例在dll中是硬编码的.
所以,实际上,它与硬件编码依赖关系一样好,对吧?我知道,在测试过程中它会让生活更轻松......
我的观点是,使用xml配置不是更好吗?你想插入一个新的具体实例?只需让安装程序用新的文件覆盖structuremap.config文件.
那么,配置StructureMap的首选方法是什么?
额外:我暂时被迫使用C#配置,因为我不知道如何将连接字符串传递给实例.我可以在配置文件中编写连接字符串,但我想重用app.config中定义的连接字符串.
我在我的WPF应用程序中使用构造函数依赖注入,并且我继续运行以下模式,因此希望得到其他人的意见并听取替代解决方案.
目标是将ViewModel的层次结构连接到类似的模型层次结构,以便在每个模型中呈现信息的责任在于其自己的ViewModel实现.(这种模式在其他情况下也会出现,但MVVM应该是一个很好的例子.)
这是一个简化的例子.鉴于我有一个模型,其中包含更多模型的集合:
public interface IPerson
{
IEnumerable<IAddress> Addresses { get; }
}
public interface IAddress
{
}
Run Code Online (Sandbox Code Playgroud)
我想在ViewModel中镜像这个层次结构,以便我可以将ListBox(或其他)绑定到Person ViewModel中的集合:
public interface IPersonViewModel
{
ObservableCollection<IAddressViewModel> Addresses { get; }
void Initialize();
}
public interface IAddressViewModel
{
}
Run Code Online (Sandbox Code Playgroud)
子ViewModel需要显示来自子Model的信息,因此它是通过构造函数注入的:
public class AddressViewModel : IAddressViewModel
{
private readonly IAddress _address;
public AddressViewModel(IAddress address)
{
_address = address;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,将子Model提供给相应的子ViewModel的最佳方法是什么?
这个例子很简单,但在一个典型的实例中,ViewModels有更多的依赖 - 每个依赖都有自己的依赖(等等).我正在使用Unity 1.2(尽管我认为这个问题与其他IoC容器相关),我正在使用Caliburn的视图策略来自动查找并将相应的View连接到ViewModel.
这是我目前的解决方案:
父ViewModel需要为每个子Model创建一个子ViewModel,因此它在初始化过程中使用了一个工厂方法添加到它的构造函数中:
public class PersonViewModel : IPersonViewModel
{
private readonly Func<IAddress, IAddressViewModel> _addressViewModelFactory;
private readonly IPerson _person;
public …Run Code Online (Sandbox Code Playgroud) 我们有一个HttpHandler,它直接处理来自自定义客户端软件的HTTP上的二进制帖子.客户端软件偶尔发送数据,导致IIS 7响应400 - 错误请求.由于"400 Bad Request"的特殊之处在于HTTP.SYS在内核模式下透明地处理它而不通知用户模式,因此不会引发任何错误在ASP.NET中处理.是否有可能在ASP.NET中捕获此http 400,以便我可以在这些方案中将特定数据写入Response流?重定向到另一个页面不是一个选项,因为它需要在当前的请求/响应中.
我试图弄清楚如何在依赖类可以根据应用程序中的某个变量(在本例中为Session状态)进行更改的情况下使用IoC.例如,我们的每个客户端都有一个不同的数据库,因此与数据库的连接需要建立在其Session中存储的值上(特别是因为如果某些用户拥有多个业务,并且可以在数据库之间切换,则可能有多个数据库) .
以下是我们当前如何设置此结构的一般示例:
public class MyTestController : ControllerBase
{
Repository _rep;
public MyTest(Repository rep)
{
_rep = rep;
}
public MyTest()
{
string connString = String.Format("Server={0}; Database={1};"
, SessionContainer.ServerName, SessionContainer.DatabaseName;
var dc = new DataContext(connString);
_rep = new Repository(dc);
}
public int SampleFn()
{
return _rep.GetCountOfEmployees();
}
}
public class Repository
{
DataContext _context;
public Repository(DataContext context)
{
_context = context;
}
}
Run Code Online (Sandbox Code Playgroud)
我们能够使用IoC设置它并消除默认的c-tors?如果是这样,怎么样?我没有像这样使用DI的问题,但是我想探索一下StructureMap或Unity的可能性(注意:我们通常将db/server传递给构建datacontext的工厂类...上面的示例只是为了简洁).