小编sma*_*man的帖子

C#中字符串字典的最佳性能

我正在设计一个包含字符串层次结构的C#类,其中每个字符串都有0或1个父项.

我倾向于实现这一点,Dictionary<string,string>其中键是子,值是父.字典可能有很多值,但我不能说确切的大小.这看起来应该比创建包含父对象的复合包装器的执行速度更快,但我可能错了.

我可以采用另一种方法来确保更好的性能速度吗?

c# performance dictionary hashtable idictionary

3
推荐指数
1
解决办法
8115
查看次数

领域驱动的设计理念

我正在使用域驱动设计构建的应用程序中的一些概念遇到一些麻烦.

我有以下几层:

  • 应用
  • 基础设施

所以,我们假设我有以下类:

  • Order
  • EmailService
  • OrderNotificationService
  • OrderApplicationService

显然,Order进入域层并OrderApplicationService进入应用层.这EmailService是用于发送电子邮件的通用服务,并在基础结构层中实现.这OrderNotificationService是发送订单通知的具体实现.该OrderNotificationService用途EmailService发送实际的电子邮件.

所以,我的第一个问题是:是否OrderNotificationService将实现为域服务,应用程序服务或基础结构服务?

对于我的下一个问题,让我们假设以下对象:

  • Employee
  • SalesforceService

假设当员工加入系统时,他们也应该被添加到Salesforce.这SalesforceService是一个使用Salesforce api注册用户的服务.请问SalesforceService可以实现为域服务或通用的基础设施服务,应用服务将通过向员工信息使用?

感谢您的建议.

architecture oop domain-driven-design separation-of-concerns object-oriented-analysis

3
推荐指数
1
解决办法
1829
查看次数

使用Reflection通过签名调用对象实例上的泛型方法:SomeObject.SomeGenericInstanceMethod <T>(T参数)

我怎么打电话SomeObject.SomeGenericInstanceMethod<T>(T arg)

有一些关于调用泛型方法的帖子,但不完全像这个.问题是method参数被约束为泛型参数.

我知道如果签名是相反的

SomeObject.SomeGenericInstanceMethod<T>(string arg)

然后我可以得到MethodInfo

typeof (SomeObject).GetMethod("SomeGenericInstanceMethod", new Type[]{typeof (string)}).MakeGenericMethod(typeof(GenericParameter))

那么,当常规参数是泛型类型时,如何获取MethodInfo?谢谢!

此外,泛型参数可能有也可能没有类型约束.

c# generics reflection methodinfo generic-method

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

是或否:服务器是否可以发送HTTP响应,同时仍然从相关的HTTP请求上传文件?

如果网站用户提交的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]

  • file_id [uniqueidentifier]
  • file_caption [varchar(500)]
  • file_status [int]

然后我想上传文件/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检查状态更新,但这不是这个问题所要求的.我特别询问在发送响应后文件是否可以继续上传.

forms ajax file-upload xmlhttprequest http-post

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

我的SQL语句是将"Arnold Schwarzenegger"和"Hasta la vista baby"插入这两个空SQL表中?

我的声明是将"Arnold Schwarzenegger"和"Hasta la vista baby"插入以下空SQL表中?

这个问题的标题最初是"如何将第一条记录插入到具有双向关联和自动生成的整数PK的SQL表中?" 但我不知道,如果我是那个措辞正确...基本上,我有两个表ActorsCatchPhrases.

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

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

多个用户可以共享HttpApplication实例吗?

我已经使用本文顶部的表格作为参考.我有三个问题:

1 - 多个用户(来自不同的物理位置)是否可以共享HttpApplication实例?如果是这样,默认会发生这种情况吗?

2 - 多个用户(来自不同的物理位置)是否可以共享HttpApplicationState实例?如果是这样,默认会发生这种情况吗?

3 - ASP.NET应用程序的多个用户是否可以共享单个实例或静态变量值?如果是这样,默认会发生这种情况吗?

谢谢你清理这个.

asp.net lifecycle httpapplication httpapplicationstate

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

Asp.net MVC身份验证身份验证如何工作

可能是我的问题很疯狂.

1)ASP.net MVC是无状态的,因此这里没有涉及会话.

身份验证模块如何工作,您是否有任何文章可以指示我理解身份验证基础知识.

存储的认证信息是什么?

[新手MVC]

asp.net-mvc asp.net-authentication asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-4

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

当Where子句不满足时,LINQ扩展方法是否可以使用new().Value创建新的KeyValuePair

我有一个集合

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 …

.net c# linq extension-methods linq-extensions

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

我为什么要把物品放在包里?

我刚刚看到一个关于System.Collections.ConcurrentBag<T>类的SO问题,我已经看到了ASP.NET MVC 的ViewBag属性Controller.根据我的经验,我已经了解到如果你理解他们在撰写文章时到底得到了什么,那么使用人们的代码会更容易.我认为它非常直观地表示a List<T>或a Dictionary<TKey,TValue>或a ReadOnlyCollection<T>表示什么.Bag另一方面,A 不是那么直观.

所以,我的问题是:这个比喻的意思什么Bag,特别是关于.NET框架?

.net collections .net-4.0 bag viewbag

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

什么是最跨浏览器的一致jQuery插件,用于在没有图像的HTML元素上渲染圆角?

什么是最一致的,跨浏览器兼容的jQuery插件,用于在没有图像的HTML元素上呈现圆角?

到目前为止,我所使用的所有内容在不同浏览器中都是不一致和不可靠的,并且/或者添加了干扰级联CSS的不必要元素.

html javascript css jquery rounded-corners

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