草庐IT

clr-hosting

全部标签

c# - 有没有办法在 .Net 中创建 "Self-hosted"网站?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion类似于WCF自托管。有没有办法在控制台应用程序或dll中创建“自托管”的网站?可能问这个问题的方式不对,但我想做的是使用这个网站将结果拆分为网页,而不用在IIS中创建网站。谢谢。

c# - GC 行为和 CLR 线程劫持

我在CLRviaC#一书中阅读了有关GC的内容,特别是关于CLR何时开始收集的内容。我知道它必须在收集发生之前暂停线程,但它提到它必须在线程指令指针到达安全点时执行此操作。在它不在安全点的情况下,它会尝试快速到达一个安全点,它通过劫持线程(在线程堆栈中插入一个特殊的函数指针)来实现。这一切都很好,但我认为默认情况下托管线程是安全的?我最初认为它可能指的是非托管线程,但CLR允许非托管线程继续执行,因为任何正在使用的对象无论如何都应该被固定。那么,什么是托管线程中的安全点,GC如何确定那是什么?编辑:我认为我不够具体。根据thisMSDNarticle,即使调用了Thread.Suspe

c# - 使用 .svc 文件和在 'WCF Service Host' 中托管 WCF 服务有什么区别?

我写了一个服务,它有一个.svc文件。我可以浏览到此服务,但这似乎是一种奇怪的方式。我想知道是否可以使用.svc文件生成服务,或者我们是否应该考虑使用WCF服务主机并设置绑定(bind)等.... 最佳答案 svc文件用于在IIS中托管(它现在可以在.NET4.0中托管withoutthese)。除非您有理由自行托管,否则我强烈建议您坚持使用IIS(WAS),因为它“免费”提供了如此多的托管基础​​设施。更新(11/16):更新了损坏的链接以指向比较ASP.NET论坛帖子。上一个链接是here以防它在未来某个时候复活。

c# - 确定域名在 "hosts"文件中是否有效的最佳方法?

WindowsHostsfile允许您将IP关联到hostname比普通的Internet域名具有更大的自由度。我想创建一个函数来确定给定名称是否是有效的“主机”文件域名。基于thisanswer以及对哪些有效和无效的实验,我想出了这个功能:privatestaticboolIsValidDomainName(stringdomain){if(String.IsNullOrEmpty(domain)||domain.Length>255){returnfalse;}Uriuri;if(!Uri.TryCreate("http://"+domain,UriKind.Absolute,ou

c# - SQL CLR 中的多线程缓存

是否有任何多线程缓存机制可以在SQLCLR函数中工作而不需要将程序集注册为“不安全”?同样描述了inthispost,简单地使用lock语句将在安全程序集上抛出异常:System.Security.HostProtectionException:AttemptedtoperformanoperationthatwasforbiddenbytheCLRhost.Theprotectedresources(onlyavailablewithfulltrust)were:AllThedemandedresourceswere:Synchronization,ExternalThreading

c# - 将 Enumerable.ToDictionary 与扩展方法一起使用时为 "CLR detected an Invalid Program"

一位同事向我传递了一个有趣的代码示例,该示例在运行时因InvalidProgramException(“CLR检测到无效程序”)而崩溃。这个问题似乎发生在JIT时间,因为它编译得很好,但就在调用带有“违规”行的方法之前抛出异常-我猜是因为它正在被JIT。有问题的行是调用Enumerable.ToDictionary并将Func作为第二个参数传递。如果Func参数完全用lambda指定,它就可以工作;如果指定为方法组,如果失败。这两者一定是等价的吧?这让我(以及发现它的同事!)感到难过-这看起来确实像是一个JIT错误。[编辑:抱歉-我在代码示例中以错误的方式得到了通过和失败的情况-现在已

c# - CLR 无法从 COM 上下文 0x3b2d70 转换到 COM 上下文

在调试应用程序时出现以下错误。TheCLRhasbeenunabletotransitionfromCOMcontext0x3b2d70toCOMcontext0x3b2ee0for60seconds.Thethreadthatownsthedestinationcontext/apartmentismostlikelyeitherdoinganonpumpingwaitorprocessingaverylongrunningoperationwithoutpumpingWindowsmessages.Thissituationgenerallyhasanegativeperforma

c# - .NET CLR VM 中的逃逸分析

CLR编译器/JIT是否执行任何逃逸分析?例如,在Java中,一个循环变量一个在循环中分配但没有逃脱循环的对象似乎分配在堆栈上而不是堆上(参见EscapeanalysisinJava)。为了澄清,在下面的示例中,编译器是否会优化foo的堆分配,因为它永远不会逃脱循环。classFoo{intnumber;Foo(intnumber){this.number=number;}publicoverridestringToString(){returnnumber.ToString();}}for(inti=0;i 最佳答案 如果您指的是

c# - CLR 如何加载 DLL?

我的假设始终是CLR在应用程序域启动时加载了它需要的所有DLL。但是,我写了一个例子,让我质疑这个假设。我启动我的应用程序并检查加载了多少模块。Process[]ObjModulesList;ProcessModuleCollectionObjModulesOrig;//GetallmodulesinsidetheprocessObjModulesList=Process.GetProcessesByName("MyProcessName");//Populatethemodulecollection.ObjModulesOrig=ObjModulesList[0].Modules;C

c# - 谁能给我一个很好的理由在代码中使用 CLR 类型名称而不是 C# 类型名称(别名)(作为一般做法)?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我们的开发团队为此争论不休。我很想听听其他人对此有何看法。