在ASP.NET,.NET 4.0,MEF,我把所有的部件文件夹中,并使用其导入DirectoryCatalog.一切都好.一些部分具有相关配置.我不想把它们放进去web.config.也许一个好的方法就是config文件旁边的文件,并.config添加到最后.
存储零件配置的最佳方法是什么?
这个问题在其他语言/平台上有答案,但我找不到强大的解决方案C#.在这里,我正在寻找我们使用的URL的一部分,WHOIS所以我对子域,端口,架构等不感兴趣.
Example 1: http://s1.website.co.uk/folder/querystring?key=value => website.co.uk
Example 2: ftp://username:password@website.com => website.com
Run Code Online (Sandbox Code Playgroud)
当whois中的所有者是相同的时,结果应该是相同的,因此sub1.xyz.com和sub2.xyz.com都属于拥有xyz.com的人,我需要从URL中提取.
如果我们声明一个static变量Global.asax然后如何在ASP.NET页面内访问它?
<script runat=server">
public static object myObject = new MyClass();
// Application_Start() and other stuff goes here.
</script>
Run Code Online (Sandbox Code Playgroud)
并且,这是一个存储全局对象(所有请求的相同实例)的好主意吗?
Web上的所有示例都假设我们要远程调试的远程服务器位于同一网络上.我只有一个静态IP地址并使用RDP我连接到服务器.
我已安装Remote Debugger在远程计算机上但无法设置静态IP地址,如Qualifier在visual studio中 - > debug - > attach to process
asp.net remote-debugging visual-studio-2010 static-ip-address
我在ASP.NET中有一个生产者 - 消费者场景.我设计了一个Producer类,一个Consumer类和一个类来保存共享对象并负责Producer和Consumer之间的通信,让我们调用它Mediator.因为我在启动时(在父对象中)分叉执行路径,并且一个线程将调用Producer.Start()并且另一个线程调用Consumer.Start(),我需要传递Mediator对两者Producer和Consumer(via Constructor)的引用.Mediator是一个智能类,它将优化许多内容,如内部队列的长度,但现在将其视为循环阻塞队列.Producer将排入新的对象Mediator,直到队列变满,然后Producer将阻塞.从中Consumer 取出物体Mediator直到队列中没有任何内容.对于线程之间的信令,我在Mediator类中实现了两个方法:Wait()和Pulse().代码是这样的:
Class Mediator
{
private object _locker = new object();
public void Wait()
{
lock(_locker)
Monitor.Wait(_locker);
}
public void Pulse()
{
lock(_locker)
Monitor.Pulse(_locker);
}
}
// This way threads are signaling:
Class Consumer
{
object x;
if (Mediator.TryDequeue(out x)) …Run Code Online (Sandbox Code Playgroud) 据我所知,如果声明了变量Lazy,那么当我们使用该Value属性时会调用它的构造函数.
我需要将一些参数传递给此Lazy实例,但无法找到正确的语法.这不是我的设计,我正在使用MEF ExportFactory,它会返回我Lazy的部件实例.我的部分有构造函数,我需要用一些参数调用这些构造函数.
我想实现一个HashTable(或mabybe a HashSet或Dictionary),它有一个独特的成员,一段时间后会过期.例如:
// Items expire automatically after 10 seconds (Expiration period = 10 sec)
bool result = false;
// Starting from second 0
result = MyHashSet.Add("Bob"); // second 0 => true
result = MyHashSet.Add("Alice"); // second 5 => true
result = MyHashSet.Add("Bob"); // second 8 => false (item already exist)
result = MyHashSet.Add("Bob"); // second 12 => true (Bob has expired)
Run Code Online (Sandbox Code Playgroud)
如何以最低的成本以线程安全的方式做到这一点?
如果我在ASP.NET页面上创建一个新线程,则该IsThreadPoolThread属性为true.第一个问题是,它来自ASP.NET池还是CLR池?第二个问题是,如果是来自ASP.NET池那么如何从CLR创建一个线程而不使用ASP.NET池?我需要一个长期运行请求的同步解决方案(全文).
使用System.Collections如何使用两个主键创建集合?
我的意思是避免使用相同组合的新条目,但每个键可以与其他键一起使用(例如组合两个主键SQL)
c# ×7
asp.net ×5
hashtable ×2
mef ×2
.net-4.0 ×1
clr ×1
collections ×1
constructor ×1
dns ×1
extract ×1
global-asax ×1
locking ×1
primary-key ×1
static ×1
threadpool ×1
url ×1
waithandle ×1
whois ×1