配置/设置:
背景:
我开始使用这个自我主机教程作为我的基础,最终目标是配置我可以跨域连接的中心服务器(CORS).我主要使用版本2.0.0-rc1.
回购步骤:
回购步骤很简单.从好的ol IE(版本10)导航到测试页面(default.html)并等待.
以下是信号器客户端日志,详细说明了发生的情况:
[21:47:30 PDT] SignalR: Auto detected cross domain url.
[21:47:30 PDT] SignalR: Client subscribed to hub 'selfieserver'.
[21:47:30 PDT] SignalR: Negotiating with 'http://localhost:8889/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&clientProtocol=1.3'.
[21:47:31 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/connect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=8'.
[21:47:31 PDT] SignalR: Long poll complete.
[21:47:31 PDT] SignalR: LongPolling connected.
[21:47:31 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/poll?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=4'.
[21:48:01 PDT] SignalR: An error occurred using longPolling. Status = parsererror. Response …Run Code Online (Sandbox Code Playgroud) 我正在使用Microsoft的第三方RESTful服务请求HttpClient.除了这个例子之外,它完美无缺(并且非常容易实现).以下是提供商对错误期间发生的情况的细分:
"POST到组资源的工作方式是,当它完成时,它会将HTTP 302重定向到组实例资源.看起来正在发生的事情是您的HTTP客户端正在向POST发送正确的身份验证信息,这会创建该组的资源,但是当它处理得到的HTTP请求302,它没有发出正确的凭据,是得到一个401响应.您可以检查您的客户端库,并确保其发送HTTP认证参数正确的重定向?"
这是我的POST代码:
HttpClient http = new HttpClient(BASE_URL);
http.TransportSettings.Credentials = new NetworkCredential(ACCOUNT_SID,
ACCOUNT_TOKEN);
HttpResponseMessage httpResponse = http.Post(groupUri, "application/xml",
HttpContent.Create(xml.ToString()));
result = httpResponse.Content.ReadAsString();
Run Code Online (Sandbox Code Playgroud)
这让我想到了我的问题; 如何使用HttpClient该类获取要在此GET重定向上发送的身份验证参数?
我一直在尝试更多ajax方法来加载页面上的数据,主要是为了避免回发.我可以通过ajax调用轻松获取服务器构造的html,并在jquery的.append或.replaceWith的帮助下将其添加到dom中非常简单.这两种方法在chrome/firefox中都非常快,但在(7,8,9)中非常慢.
$.ajax(
{
url: url,
dataType: 'html',
cache: false,
success: function (responseHtml)
{
//document.getElementById('targetElementId').outerHTML = responseHtml;
$('#targetElementId').replaceWith(responseHtml);
}
});
Run Code Online (Sandbox Code Playgroud)
你会从我的代码块中看到,我也试图使用非jquery方法.这两条线在ie中表现得非常糟糕.所以我的问题是,向页面添加大量html的最佳做法是什么,所以它不会粉碎ie?
在开发 mvc Web 应用程序期间,我遇到了运行站点本地实例的问题。当我尝试重新加载页面时,在第一次成功加载后,我看到以下错误。如果我通过 VS 虚拟服务器运行该站点,则没有问题。我的应用程序池正在以集成模式运行,并且正在运行 .net 4。知道为什么会发生这种情况吗?这是足够的信息吗?
[NullReferenceException:未将对象引用设置为对象的实例。] System.Web.HttpServerVarsCollection.Get(String name) +109 System.Web.Mvc.UrlRewriterHelper.WasThisRequestRewritten(HttpContextBase httpContext) +59 System.Web.Mvc.PathHelpers .GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +213 System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +168 System.Web.Mvc.PathHelpers.GenerateClientUrl(HttpContextBase httpContext, String contentPath) +148 LeadManager.Web .UI.Helpers.MenuHelper.GenerateUrl(String url) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:1132 LeadManager.Web.UI.Helpers.MenuHelper.BuildLeadManagementMenu(Menu navMenu, Agent agent ) 在 C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs 中:554 LeadManager.Web.UI.Helpers.MenuHelper.AddNavMenu(Agent agent) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:530 c:\Development\ Hg\LeadManager\Web\Views\Shared_Layout.cshtml:115 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +172 System.Web.WebPages.WebPageBase.Write(HelperResult result) +88 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action\Development\Hg\LeadManager\Web\Views\Shared_Layout.cshtml:115 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103 System.Web.WebPages.WebPageBase。 ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +172 System.Web.WebPages.WebPageBase.Write(HelperResult …
我有一个自定义log4net appender,如下所示:
public class MyAppender : AppenderSkeleton
{
protected override void Append(LoggingEvent loggingEvent)
{
try
{
if (loggingEvent.Level == Level.Error || loggingEvent.Level == Level.Fatal)
{
DoWork(RenderLoggingEvent(loggingEvent));
}
}
catch
{
// silently fail
}
}
}
Run Code Online (Sandbox Code Playgroud)
时不时地,我会在输出中看到这个异常:
log4net:ERROR Exception while logging
System.Threading.LockRecursionException: Recursive read lock acquisitions not allowed in this mode.
at System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.EnterReadLock()
at log4net.Util.ReaderWriterLock.AcquireReaderLock()
at log4net.Repository.Hierarchy.Logger.CallAppenders(LoggingEvent loggingEvent)
at log4net.Repository.Hierarchy.Logger.ForcedLog(Type callerStackBoundaryDeclaringType, Level level, Object message, Exception exception)
at log4net.Repository.Hierarchy.Logger.Log(Type callerStackBoundaryDeclaringType, Level level, Object message, …Run Code Online (Sandbox Code Playgroud)