我设法使用SecureAuth在一台托pipe简单的index.html的IIS服务器上工作,然后是一个简单的ASP.net MVC 4应用程序,两者都很好。 但是今天,我试着简单地将我的应用程序指向一个新的ASP.net CORE应用程序。 我所做的只是改变在IIS中的目录,没有什么特别的。 我在服务器上安装了.NET Core主机,它工作(应用程序运行并加载就好了),直到我需要使用SecureAuth重新进行身份validation。 在这种情况下, https ://mywebsite.com/Shibboleth.sso/SAML2/POST结果是404而不是200.我的第一个想法是WebConfig,我对此了解甚less。 这里是旧的, 这里是新的,从Visual Studio 2015的默认模板中都没有改变。 是否有任何额外的服务器configuration需要继续,或者在那个触发未定义行为的WebConfig中有一个奇怪的处理程序? Shibboleth对我来说是新的,所以去轻松点! 编辑:一些额外的细节…在IIS版本8我configuration了ISAPI和CGI限制,ISAPI筛选器和处理程序映射(未选中“仅在请求映射到…时调用处理程序”)指向Shibboleth DLL。 我所有的Shibbolethconfiguration文件都能很好的与旧的应用程序一起工作,所以我不明白这可能是怎么回事。
我们有一个Windows Server 2008 R2 SP1 Web服务器,我需要部署.NET Framework 4.6.x(可能是4.6.2)。 我似乎无法在Web Platform Installer 5.0中find此版本。 但它提供了.NET Framework 4.5.2,正确地指出它已经被安装。 我知道我可以search.NET Framework 4.6.2的手动安装程序,但是我喜欢使用Web Platform Installer来处理这种事情,因为它(至今)一直安装我所需要的所有东西的正确版本,而不会造成事故。 有谁知道什么箍我需要跳过来得到这个工作? UPDATE 那么,我只是成功地手动安装了.NET Framework 4.6.2,并且在重新启动之后,它们都能正常工作。 当我们部署到生产环境时,这可能是我的解决方法,但是我想了解Web平台安装程序正在发生什么。
我写了一个简单的.NET Core控制台应用程序(它写入一些日志文件,命中一个数据库,并发送一些电子邮件)。 通过在Windows中双击.exe来触发任务正常工作。 但是,当试图通过任务计划程序触发任务立即失败,代码0xC0000005 。 当计划实际触发时,或者通过右键单击Task Scheduler应用程序中的任务,然后单击“运行”,就会发生此故障。 该应用程序尝试做的第一件事是写一些东西到日志文件,这从来没有发生。 相同的服务器有一堆其他.NET控制台应用程序(不是.NET核心),它们configuration了完全相同的权限和用户帐户,并且工作正常。 在事件日志中有一条logging如下: 错误应用程序名称:StorePlay.ClientEmailer.exe,版本: 1.1.0.1179,时间戳:0x58224b03错误模块名称:未知,版本:0.0.0.0,时间戳:0x00000000exception代码:0xc0000005 错误偏移量:0x00007ffaef1d8955错误进程ID:0xe0c错误 应用程序启动时间:0x01d301e534cdde90错误的应用程序path: C:\ storePlay \ Tasks \ Client Emailer \ StorePlay.ClientEmailer.exe错误 模块path:未知报告Id:1bc8be44-744c-452e-a945-997d64d1d87b 错误包全名:错误包相关应用程序ID: 这全部在运行Windows Server 2016的计算机上
我们有一个C#.NET Web应用程序,它使用几个GUID与一个客户端ID结合来识别我们的一些数据,这些数据被devise为可公开访问,但很难在其他有效的URL组合上发生。 该URL的格式为: /控制器/审查?GUID1 = XXXXXXXX-XXXXXXXX-XXXX-XXXXXXXXXX&GUID2 = XXXXXXXX-XXXXXXXX-XXXX-XXXXXXXXXX&clientID的= ABCD 这三个值在我们的数据库中形成了一个复合关键字,并且一切都很好。 但是,我们在错误日志logging应用程序中看到一些GUID不是GUID的exception条目。 事实上,“错误”的URL总是如下格式: /控制器/审查?GUID2 = XXXXXXXXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXX&clientID的= ABCDEF&GUID1 = XXXXXXXXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXX 所以,正如你所看到的那样,错误的GUID格式与正确的GUID 10-4-4-4-14的格式不同,而正确的格式是8-4-4-4-10。 另外,我们看到的clientID似乎是一个有效的clientID附加了两个额外的整数。 错误的GUID也不是hex的,URL params传入的顺序也是不正确的。 现在,这是真正的奇怪的一点。 当我们收到其中一个请求时,它总是来自一个GTT通讯拥有的networking,但它在地理上是多样的,一次是德国,另一个是美国。 另外,当我们收到错误的请求时,我们将其redirect到一个500状态的错误页面。 与初始GET请求相比,500错误页面的GET请求来自不同的IP地址,尽pipe它始终在该请求集合的同一个子网中。 在网上search了几个小时之后,我没有发现任何这样的事情。 请求看起来像他们是由一个机器人完成的,因为没有图像,CSS,JS文件被要求,他们都发生在“丛”。 任何关于这是什么的想法是好的,因为我现在完全没有想法。 我最好的猜测是某种使用VPN来掩盖其IP和地理位置的恶意机器人,但真正欺骗我的是为什么有人会试图破解一个URL,明确使用正确格式化的GUID与不符合标准的GUID类似的GUID不…
//get local time DateTime localDateTime = DateTime.UtcNow.AddHours(Convert.ToDouble(_UTCOffet)); AmazonDynamoDBClient _dbClient = new AmazonDynamoDBClient( new AmazonDynamoDBConfig { RegionEndpoint = RegionEndpoint.APSoutheast2 }); LambdaLogger.Log("Atempting to get ASG min value from DynamoDB – " + _DynamoDBName + " at AEST Hour – " + localDateTime.Hour.ToString()); // Define item hash-key to be string value "Mark Twain" AttributeValue hashKey = new AttributeValue […]
我们有一个应用程序目前无法启动,因为publickeytoken似乎不正确。 XML文件有一个令牌,但错误是指另一个令牌。 这是一个EXE和相关的DLL,我们从另一个Windows系统导入。 有没有办法强制更新应用程序的PublicKeyToken或OS级别? 不太熟悉2016服务器上的可执行文件的密钥。
我需要创build一个新的.net v4应用程序池,并将其分配给现有的ASP.net webforms网站,作为在数百个客户端IIS Web服务器上运行的自动更新过程的一部分。 令人恼火的是,更新过程(网站文件夹中的一个.net控制台应用程序,通过Shell()命令从aspx.vb文件执行)不一定会作为pipe理员用户运行,所以据我所知,我们可以不使用Microsoft.Web.Administration类,或者甚至运行Powershell脚本来完成这项工作,因为它们(可以理解)都需要pipe理员权限。 任何人都可以想到一种方法来创build和分配一个应用程序池在这种情况下编程,没有pipe理员权限? 有没有办法提升更新过程的权利,而不能点击“运行pipe理员”UI提示? (我想这只会工作,如果现有的应用程序池的网站正在运行pipe理员权限无论如何,我不认为是100%的情况下) 还是只是连接到每个客户端服务器并手动创build和分配应用程序池的情况? 微克。
我有一个奇怪的问题。 让我一步一步详细解释: 我有一个供应商开发的REST WS(使用WCF制作)与MS CRM同步数据。 我开发了一个Windows服务,它从数据库中提取批量数据进行同步,然后使用Post方法作为JSON对象将它传递给这个Web服务。 Windows服务部署在其中一个节点上。 我面临的问题从来没有发生在Dev,QA,UAT或分期环境中。 它仅适用于生产环境。 在生产应用程序工作了一段时间,然后开始抛出400错误的请求错误。 然后,直到我们重新启动站点或重置应用程序池标识IIS不断抛出400错误的请求错误。 当我们重新启动网站或应用程序池时,相同的请求失败开始获得成功的答复。 它在这样的一段时间内工作,而且再次发生400次。 Web服务托pipe的环境是Win Server 2012,2节点负载平衡环境。 WS被部署在boht节点的端口8080上,并被configuration为在.Net 4.0下运行。 我在我的Windows服务日志(这是这些WS的客户端)中收到以下错误。 System.Net.WebException:远程服务器返回错误:(400)错误的请求。 在CrmWrapperWsHelper.cs中的SspToCrmSynchronizationService.Helpers.CrmWrapperWsHelper.CallService(String data,String url,String method,String userName,String password,String contentType):SspToCrmSynchronizationService.Helpers.CrmWrapperWsHelper.CallDocumentCreateService中的第79行(String data)CrmWrapperWsHelper.cs :第20行在SequentialProcess.cs中的SspToCrmSynchronizationService.Process.SequentialProcess.Process(List`1 appList,DatabaseHelper dbHelperForChildTask,CancellationToken ct)的CommonOperations.cs中的第52行:SspToCrmSynchronizationService.Process.CommonOperations.GenerateJsonAndInvokeDocCreateWS(Int64 appRefNo,Application app) 88行 首先,我们检查了IIS日志,发现IIS在几百个MS中返回了400错误。 我们怀疑它没有到达WS应用程序,因为应用程序根本没有logging任何东西,尽pipelogging请求是供应商在WS代码中做的第一件事情。 其次,我们使用Fiddler来捕获请求和响应,并得到以下结果: HTTP/1.1 400 Bad Request Cache-Control: private Content-Length: 1647 Content-Type: text/html Server: Microsoft-IIS/8.5 X-ASpNet-Version: 4.0.30319 X-Powered-By: ASP.Net Date: […]
我们看到这个例外: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而build立的连接失败 当使用System.Net.WebRequest将REST请求提交给第三方API时,API的所有者认为该API是正确的,并且提示存在瞬时连接问题。 这是可能的这个错误,还是这个错误特定于报告的主机上的故障? 我们在提交请求时使用域名,并且在属于域所有者的IP上报告失败
我有一个在Windows 2003上运行的ASP.NET应用程序,需要与驻留在大型机上的DB2数据库进行通信。 我们在服务器上安装了DB2客户端驱动程序v9.5,以便应用程序可以执行连接并使用数据库。 连接到数据库的连接string包含用户名和密码,它不是可信的连接。 清楚的是,我们使用的是DB2 .NET提供程序,而不是OLE DB,ODBC等。 我们注意到的是,当ASP.NET应用程序试图与DB2进行首次连接时,需要很长时间,大约需要20秒。 在与我们的一位常驻DBA交谈之后,他们说这可能是因为DB2驱动程序试图对用于连接到数据库的用户帐户进行身份validation,而不是Active Directory。 他们的解决scheme是在Win2003服务器上创build一个本地用户帐户,名称与用于build立连接的用户帐户相同。 本地用户帐户不必是任何acl组的成员,并且可以被禁用。 我尝试了这个解决scheme,令我惊讶的是,它确实有效。 连接在毫秒内完成。 我所关心的是这个“特性”在DB2驱动程序中似乎是一个缺陷,并且这个驱动程序的任何新版本都可能实际上阻止了它的再次运行。 有谁知道在我们可以设置的DB2驱动程序中是否有实际的设置,所以它不会尝试使用Active Directory进行身份validation? 我觉得使用这个设置会比使用这个设置感觉更舒适,而对于我来说,在他们的authenticationalgorithm中是一个缺陷。 谢谢