我正在设计一个包含字符串层次结构的C#类,其中每个字符串都有0或1个父项.
我倾向于实现这一点,Dictionary<string,string>其中键是子,值是父.字典可能有很多值,但我不能说确切的大小.这看起来应该比创建包含父对象的复合包装器的执行速度更快,但我可能错了.
我可以采用另一种方法来确保更好的性能速度吗?
我正在使用域驱动设计构建的应用程序中的一些概念遇到一些麻烦.
我有以下几层:
所以,我们假设我有以下类:
OrderEmailServiceOrderNotificationServiceOrderApplicationService显然,Order进入域层并OrderApplicationService进入应用层.这EmailService是用于发送电子邮件的通用服务,并在基础结构层中实现.这OrderNotificationService是发送订单通知的具体实现.该OrderNotificationService用途EmailService发送实际的电子邮件.
所以,我的第一个问题是:是否OrderNotificationService将实现为域服务,应用程序服务或基础结构服务?
对于我的下一个问题,让我们假设以下对象:
EmployeeSalesforceService假设当员工加入系统时,他们也应该被添加到Salesforce.这SalesforceService是一个使用Salesforce api注册用户的服务.请问SalesforceService可以实现为域服务或通用的基础设施服务,应用服务将通过向员工信息使用?
感谢您的建议.
architecture oop domain-driven-design separation-of-concerns object-oriented-analysis
我怎么打电话SomeObject.SomeGenericInstanceMethod<T>(T arg)?
有一些关于调用泛型方法的帖子,但不完全像这个.问题是method参数被约束为泛型参数.
我知道如果签名是相反的
SomeObject.SomeGenericInstanceMethod<T>(string arg)
然后我可以得到MethodInfo
typeof (SomeObject).GetMethod("SomeGenericInstanceMethod", new Type[]{typeof (string)}).MakeGenericMethod(typeof(GenericParameter))
那么,当常规参数是泛型类型时,如何获取MethodInfo?谢谢!
此外,泛型参数可能有也可能没有类型约束.
如果网站用户提交的HTML表单包含:(1)post方法; (2)multipart/form-data enctype; 并且,(3)一个大的附加文件,服务器可以上传一个发布的文件,并在文件上传完成之前发送服务器生成的HTTP响应,而不使用AJAX吗?
那非常密集.所以,我写了一个例子来说明我的意思.假设有一个带有标题字段的图像上传表单.
<form action="upload-with-caption/" method="post" enctype="multipart/form-data">
<input type="hidden" id="hiddenInfo" name="hiddenInfo" />
File: <input type="file" name="imgFile" id="imgFile" /><br />
Caption: <input type="text" name="caption" id="caption" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
我想将标题存储在具有定义的数据库表中:
[files_table]
然后我想上传文件/root/{unique-id}/filename.ext.
file_status映射到C#枚举,具有以下定义:
enum FileUploadStatus{
Error = 0,
Uploading = 1,
Uploaded = 2
}
Run Code Online (Sandbox Code Playgroud)
当表单提交时,如果文件太大而无法在1秒内处理,我想向网页发回一个回复,说明它当前正在上传.
我可以使用单个同步HTTP帖子执行此操作吗?
注意:我显然希望稍后使用AJAX检查状态更新,但这不是这个问题所要求的.我特别询问在发送响应后文件是否可以继续上传.
我的声明是将"Arnold Schwarzenegger"和"Hasta la vista baby"插入以下空SQL表中?
这个问题的标题最初是"如何将第一条记录插入到具有双向关联和自动生成的整数PK的SQL表中?" 但我不知道,如果我是那个措辞正确...基本上,我有两个表Actors和CatchPhrases.
Actors 好像:
ActorId int NOT NULL PK (autogenerated by db)
FavoriteCatchPhraseId int NOT NULL FK
Name varchar(200) NOT NULL
Run Code Online (Sandbox Code Playgroud)
CatchPhrases 好像:
CatchPhraseId int NOT NULL PK (autogenerated by db)
ActorId int NOT NULL FK
PhraseText varchar(500) NOT NULL
Run Code Online (Sandbox Code Playgroud)
因此,演员可以有多个短语,但必须至少有一个.一个口号与一个演员相关联.两个表中目前都没有数据.
sql sql-server insert identity-column bidirectional-relation
我已经使用本文顶部的表格作为参考.我有三个问题:
1 - 多个用户(来自不同的物理位置)是否可以共享HttpApplication实例?如果是这样,默认会发生这种情况吗?
2 - 多个用户(来自不同的物理位置)是否可以共享HttpApplicationState实例?如果是这样,默认会发生这种情况吗?
3 - ASP.NET应用程序的多个用户是否可以共享单个实例或静态变量值?如果是这样,默认会发生这种情况吗?
谢谢你清理这个.
可能是我的问题很疯狂.
1)ASP.net MVC是无状态的,因此这里没有涉及会话.
身份验证模块如何工作,您是否有任何文章可以指示我理解身份验证基础知识.
存储的认证信息是什么?
[新手MVC]
asp.net-mvc asp.net-authentication asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-4
我有一个集合
List<KeyValuePair<string, Details>> x
Run Code Online (Sandbox Code Playgroud)
哪里
public class Details
{
private int x;
private int y;
public Details()
{
x = 0;
y = 0;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我在我的集合上使用LINQ来返回Details实例
x.Where(x => x.Key == aString).SingleOrNew().Value
Run Code Online (Sandbox Code Playgroud)
在哪里.SingleOrNew定义为
public static T SingleOrNew<T>(this IEnumerable<T> query) where T : new()
{
try
{
return query.Single();
}
catch (InvalidOperationException)
{
return new T();
}
}
Run Code Online (Sandbox Code Playgroud)
因此,如果KeyValuePair<string, Details>在列表x中找不到满足Where条款a的a,new KeyValuePair<string, Details>则返回.
但问题是new KeyValuePair<string, Details>包含null …
我刚刚看到一个关于System.Collections.ConcurrentBag<T>类的SO问题,我已经看到了ASP.NET MVC 的ViewBag属性Controller.根据我的经验,我已经了解到如果你理解他们在撰写文章时到底得到了什么,那么使用人们的代码会更容易.我认为它非常直观地表示a List<T>或a Dictionary<TKey,TValue>或a ReadOnlyCollection<T>表示什么.Bag另一方面,A 不是那么直观.
所以,我的问题是:这个比喻的意思是什么Bag,特别是关于.NET框架?
到目前为止,我所使用的所有内容在不同浏览器中都是不一致和不可靠的,并且/或者添加了干扰级联CSS的不必要元素.
c# ×3
.net ×2
.net-4.0 ×1
ajax ×1
architecture ×1
asp.net ×1
asp.net-mvc ×1
bag ×1
collections ×1
css ×1
dictionary ×1
file-upload ×1
forms ×1
generics ×1
hashtable ×1
html ×1
http-post ×1
idictionary ×1
insert ×1
javascript ×1
jquery ×1
lifecycle ×1
linq ×1
methodinfo ×1
oop ×1
performance ×1
reflection ×1
sql ×1
sql-server ×1
viewbag ×1