Tag: windows server 2012

什么可能导致GET Web请求上的“不支持证书密钥算法”exception

我们正在尝试使用标准webrequest从asp .net MVC 4.6应用程序连接到facebook api。 除了我们的一台服务器之外,一切都运行良好。 有问题的服务器正在运行Windows 2012和IIS 8。 在这个特定的服务器上,我们在向Facebook运行GET webrequest时会遇到以下exception。 不支持证书密钥算法。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.NotSupportedException:不支持证书密钥算法。 来源错误: 在执行当前Web请求期间生成了未处理的exception。 可以使用下面的exception堆栈跟踪来识别有关exception的起源和位置的信息。 堆栈跟踪: [NotSupportedException:不支持证书密钥算法。] System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)+409 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)+213 [WebException:底层连接已关闭:发送时发生意外错误。] System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)+894 System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)+92 [HttpRequestException:发送请求时发生错误。] System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+ 32 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)+96 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()+49 代码如下所示: // Request private static async Task Request(string url) where T : class { using (var handler = new WebRequestHandler()) […]

从Process.Start()调用时,C#app随机挂起

我有一个Windows服务设置来管理自定义.Net任务。 组织是: -Windows Service监视计划并根据需要启动worker .exe。 -Worker .exe(轻量级winform应用程序)使用命令行参数来提取DLL(插件)并运行一些代码。 这已经好几个月了。 我最近将它迁移到Server 2012(从2008 IIRC) – 这可能是不相关的,但很难说。 从迁移后的一段时间开始,我遇到了一个问题,即在由process.start()调用后,worker .exe“启动”,但是没有到达我的代码。 没有错误或任何东西,它似乎在应用程序加载期间冻结。 启动它的服务代码是相当标准的。 // Create a temp folder and copy the executable to it // (so the source exe isn’t always in use and can be swapped out) Process p = new Process(); ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = Path.Combine(temp.Path, […]

AppFabric Cache内存非常密集

问题:我做错了吗? 配置设置不正确? AppFabric的内存使用量是否低于正常值? 问题:我正在从SQL数据库表中读取数据到AppFabric缓存中。 似乎AppFabric为一个相当小的对象使用了大量内存,我无法理解为什么(我最近开始使用ApppFabric – 所以我是一个菜鸟) 说明:在AppFabric缓存中,大约60MB的SQL表一次转换为大约800MB。 细节: 表I打算加载的SQL数据大小: App Fabric空闲内存使用情况: 服务器配置: 客户端配置: C#代码: public static void ReadPortedNumbers() { MobileDataContext mdc = null; List col; try { mdc = new MobileDataContext(strConnString); col = (from RN in mdc.tblRoutedNumbers select Convert(RN)).ToList(); var CacheFactory = new DataCacheFactory(); var myCache = CacheFactory.GetCache(“MobileCache”); myCache.Put(“PortedNumberCollection”, col); } catch (Exception E) […]

UserPrincipals.GetAuthorizationGroups枚举组时发生错误(1301)。 升级到Server 2012域控制器后

研究: 与解决方法类似的问题,但不是现有问题的实际解决方案 类似的问题指向Microsoft End Point更新为罪魁祸首 上面的链接最适合我的问题,我也查看了Stack Overflow在创建这篇文章时列出的每个类似问题,只有上面引用的问题符合我的问题。 背景: 我一直在使用UserPrincipal.GetAuthorizationGroups获取在C#.NET 4.0 Web表单站点上的Server 2008 R2上运行IIS 7.5的特定页面访问权限2年半。 2013年5月15日,我们删除了运行Server 2008(而不是r2)的主域控制器,并将其替换为Server 2012域控制器。 第二天,我们开始收到下面列出的例外情况。 我使用Principal Context进行表单身份validation。 用户名/通过握手成功并且正确设置了auth cookie,但是后续的Principal Context调用也会调用UserPrincipal.GetAuthorizationGroups间歇性地失败。 我们已经解决了Server 2012域控制器中出现的一些BPA问题,但这还没有解决问题。 我还建立了一个在两个独立服务器上运行的cron。 虽然它们运行相同的代码库,但两个服务器将在不同的时间以组SID解析失败。 (开发环境和生产环境)。 该问题在Web服务器重启时暂时解决,并且在开发服务器上它将在12小时不能运行后自行解决。 生产服务器通常会停止正常运行,直到重新启动而不解决自身。 此时,我正在尝试优化针对网络中特定域控制器的cron以及新DC,并使用当前未能产生更多目标exception时间的标准LDAP查询。 到目前为止,我们已经在一个Web服务器上发现它失败的日子没有模式,但它将在大约12小时内恢复。 最新的结果显示,在上午8点到晚上8点之间,集团SID解决方案失败,然后恢复,几天后它将在晚上8点失败并在早上8点恢复,然后再运行12小时并再次失败。 我们希望看到它只是一个特定的服务器通信问题,还是看它是否是整个域控制器集。 例外: Exception information: Exception type: PrincipalOperationException Exception message: An error (1301) occurred while enumerating the groups. The group’s SID could not […]

为什么这个过程一启动就会崩溃?

我们有一个IIS WCF服务,它以另一个用户的身份启动另一个进程(app.exe)。 我完全控制了两个应用程序(现在这是一个开发环境)。 IIS应用程序池以我的身份运行,域用户(DOMAIN \ nirvin),也是该框的本地管理员。 第二个进程应该作为本地用户运行(svc-low)。 我正在使用System.Diagnostics.Process.Start(ProcessStartInfo)来启动该进程。 该过程成功启动 – 我知道因为没有抛出exception,我得到了一个进程ID。 但是进程立即死亡,我在事件日志中看到如下错误: 错误应用程序名称:app.exe,版本:1.0.3.0,时间戳:0x514cd763 错误模块名称:KERNELBASE.dll,版本:6.2.9200.16451,时间戳:0x50988aa6 exception代码:0xc06d007e 故障偏移:0x000000000003811c 错误进程id:0x10a4 错误应用程序启动时间:0x01ce274b3c83d62d 错误的应用程序路径:C:\ Program Files \ company \ app \ app.exe 错误模块路径:C:\ Windows \ system32 \ KERNELBASE.dll 报告ID:7a45cd1c-933e-11e2-93f8-005056b316dd 错误包全名: 错误包相关的应用程序ID: 我已经在app.exe(现在)中进行了非常彻底的日志记录,因此我认为它不会在.NET代码中引发错误(不再)。 这是真正令人讨厌的部分:我认为我只是启动了错误的进程,所以我在一个愚蠢的WinForms应用程序中复制了我的Process.Start()调用并在机器上像我一样运行它,希望能够修改,直到我得到正确的参数。 因此,当然这是第一次和每次都有效:我能够始终如一地启动第二个流程并使其按预期运行。 它只能从IIS启动,不起作用。 我试过给svc-low权限“以批处理作业登录”,并且我已尝试授予自己“替换进程级别令牌”(在本地安全策略中)的权限,但似乎都没有任何区别。 救命! 环境细节 Windows Server 2012 .NET 4.5(提到的所有应用程序) 额外细节 起初app.exe是一个控制台应用程序。 尝试启动是让conhost.exe在事件日志中生成错误,因此我将app.exe切换为Windows应用程序。 这让conhost脱离了这个等式,但让我了解了这里描述的情况。 (通过这个问题引导了这条道路。) 我使用的ProcessStartInfo对象如下所示: new […]