我是虚拟化世界的新手.有人能解释一下OpenVZ和Docker之间的区别吗?
对未来有什么好处?
优点和缺点?
由于我想使用新的内置依赖注入,我很难找到一种优雅的方法来保持我的DAL层与ASP.NET 5中的MVC/UI层分开.
例如,我有一个ASP.NET 5项目,一个业务层项目和一个数据访问项目,其中我有各种实体框架代码,如实体和上下文.在ASP.NET 5中设置上下文并定位数据库主要文档建议我在StartUp.cs类中执行类似的操作
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<BookContext>(options =>
{
options.UseSqlServer(Configuration.Get("Data:ConnectionString"));
});
Run Code Online (Sandbox Code Playgroud)
这意味着我现在必须在基本上我的UI层中引用我的DAL,根据各种专家和博客文章,多年来一直是不好的做法.
我解决这个问题的一种方法是创建两个新项目,一个是CompositeRoot项目,它包含工厂类来生成我的业务类然后访问DAL,还有一个带有Configuration类的Utilities项目,其中有一个ConnectionString
属性,我可以传入我的上下文,然后我使用内置的DI来连接所有内容并避免在我的UI层中引用我的DAL.但我遇到了最新版本的Entity Framework(beta 7)的问题,因为它现在似乎无法在上下文的构造函数或可重写中指定连接字符串OnConfiguration
方法.此外,到目前为止,所有文档似乎都不关心这种混合问题.这就是我们现在做事的方式吗?相信开发人员不会做直接在UI中引用DAL类的"坏"事情?或者是否有一种模式,人们正在使用这种新的内置DI /配置为ASP.NET 5保持SOLID?
asp.net dependency-injection entity-framework-core asp.net-core-mvc asp.net-core
我对WCF有点新意,并试图清楚地描述我想要做的事情.
我有一个使用JSON请求的WCF Web服务.我在很大程度上发送/接收JSON很好.例如,以下代码可以正常工作并且符合预期.
JSON发送:
{ "guy": {"FirstName":"Dave"} }
Run Code Online (Sandbox Code Playgroud)
WCF:
[DataContract]
public class SomeGuy
{
[DataMember]
public string FirstName { get; set; }
}
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
public string Register(SomeGuy guy)
{
return guy.FirstName;
}
Run Code Online (Sandbox Code Playgroud)
这将按预期返回带有"Dave"的JSON对象.问题是我不能总是保证我收到的JSON将与我的DataContract中的成员完全匹配.例如,JSON:
{ "guy": {"firstname":"Dave"} }
Run Code Online (Sandbox Code Playgroud)
将无法正确序列化,因为案例不匹配.guy.FirstName将为null.这种行为是有道理的,但我真的不知道如何解决这个问题.我是否必须在客户端强制使用字段名称,还是有一种方法可以在服务器端进行协调?
一个可能相关的问题:我可以接受并将通用JSON对象序列化为StringDictionary或某种简单的键值结构吗?因此,无论JSON中发送的字段名称是什么,我都可以访问已发送给我的名称和值?现在,我能够读取我收到的数据的唯一方法是它是否与预定义的DataContract完全匹配.
是否可以,如果是,如何删除/禁用特定文件类型的文件嵌套.
在我的情况下,我不希望.ts文件嵌套在.html文件下.我找到的就是这个要求.有人弄明白该怎么做吗?
.net ×1
asp.net ×1
asp.net-core ×1
boot2docker ×1
docker ×1
json ×1
openvz ×1
typescript ×1
wcf ×1