小编Dan*_*Def的帖子

挂在.NET 4.5.1 IIS8上的RequestAcquireState

在繁重的负载下或使用jQuery的ajax中止功能时,我们看到IIS中建立了请求,以至无人可以连接并且整个站点都挂起,从而迫使回收。

一个从3年前类似的帖子也有类似的问题与.NET 4.5和IIS 7.5,但微软已表示这是固定在4.5.1和发布了一个补丁4.5。

在尝试使用State Server的Windows Server 2012R2上,使用IIS 8时会出现此问题,在运行Windows 10和IIS10的开发计算机上使用State Server时,甚至更是如此。补丁程序无法安装在任何这些机器上,因为安装程序被4.5.1阻止。更改为In Proc可以减少问题的发生,但不能完全解决问题。

今年IIS论坛上的这个死线程有其他几个问题相同,但没有解决方案。我还尝试将别处建议的UploadReadAheadSize设置为0,但这并不能解决问题。

是否还有其他人对此有经验和/或找到解决方案?任何投入将不胜感激。

asp.net iis session-state hang iis-8

6
推荐指数
1
解决办法
959
查看次数

Visual Studio 2017 15.4 - Ctrl +单击

自从我开始在2003年使用Visual Studio以来,按住控件并单击一段文本会突出显示该单词,以便于复制和粘贴.在我更新到15.4之前就是这种情况.现在,相同的动作将单词转换为超链接并将我带到其定义(与F12相同).

有谁知道如何改变这种状态,以便像过去14年来一样?

visual-studio-2017

5
推荐指数
1
解决办法
684
查看次数

jQuery 3.1.0 then()、done() 和 when() 错误吞咽

使用 jQuery 3.1.0,我创建了未知数量的$.ajax()请求,并使用以下方法将结果承诺添加到数组中:

myArray.push($.ajax(...).promise());
Run Code Online (Sandbox Code Playgroud)

完成所有请求后,我想调用一个函数,我知道可以使用以下方法完成:

$.when.apply($, myArray).then(myFunction, errorHandlingFunction);
Run Code Online (Sandbox Code Playgroud)

但是, myFunction 抛出了一个被 jQuery 吞下的错误(在测试期间,我的所有函数都调用了 throw new Error())。我可以看到执行在调用后进入捕获mightThrow()并正确拒绝延迟,但这从未显示在控制台中。

即使执行以下省略 apply 调用的操作,也会导致错误被完全吞噬;调试器行也永远不会被击中:

myArray[0].then(function() {
    throw new Error('test error');
}, function() { debugger; });
Run Code Online (Sandbox Code Playgroud)

删除when()并执行以下操作会导致执行在抛出时中断:

myArray[0].done(() => {
    throw new Error('test error');
}).fail(function(){ debugger; });
Run Code Online (Sandbox Code Playgroud)

执行的函数中出现的错误似乎then()总是被吞掉。另外,$.when(...).done(...)如果里面的函数done()抛出,也会导致错误被吞掉。

我是否误解了某些东西,或者这是 jQuery 的错误/功能?

javascript jquery

3
推荐指数
1
解决办法
6427
查看次数

Jenkins JRE更新

我正在使用Jenkins文件夹中的JRE的Windows上运行Jenkins服务器。版本为1.8.0_66,但更新中心使用的“让我们加密”证书与此版本不兼容,因此我需要对其进行更新。

是否有可用的独立JRE可以替换此文件夹的内容,或者是否有在Jenkins自身内部更新此JRE的标准方法?

java windows jenkins

3
推荐指数
2
解决办法
1947
查看次数

while循环中的HttpClient只执行一次

我试图在 for 循环内调用 HttpClient 请求,如下所示。它需要对第三方rest api进行多次连续调用。但它只在循环退出时给我第一个服务调用结果,然后再从其余的服务调用中获取结果。

 private void Search()
            {
                try
                {
                    var i = 1;
                    using (var httpClient = new HttpClient())
                    {
                        while (i < 5)
                        {
                            string url = "https://jsonplaceholder.typicode.com/posts/" + i;
                            var response = httpClient.GetAsync(url).Result;
                            string jsonResult = response.Content.ReadAsStringAsync().Result;
                            Console.WriteLine(jsonResult.ToString());
                         i++;                     
                        }

                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
Run Code Online (Sandbox Code Playgroud)

当我使用调试点运行时,程序会给出所有结果。但是当我在没有调试点的情况下运行它时,它只给出第一个结果。

我也尝试使用 async、await 方法。它也给了我同样的结果。

我觉得程序需要等待异步调用返回数据。

请帮我解决这个问题。

编辑-异步方式

private async Task<string> SearchNew()
        {
            try
            {
                var i = 1;
                var res = string.Empty;
                using (var httpClient = …
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient asp.net-core-mvc .net-core

3
推荐指数
1
解决办法
2965
查看次数

.Net HttpClient 无效的 URI:Uri 字符串太长

以下代码用于通过 pardot api 发送电子邮件。

if (ConfigurationManager.AppSettings.Count > 0)
        {
            uri = ConfigurationManager.AppSettings["PardotURI"].ToString() + "email/version/4/do/send/prospect_email/" + email;
            uri += "?user_key=" + ConfigurationManager.AppSettings["PardotUserKey"].ToString();
            uri += "&api_key=" + GetAPIKey() + "&campaign_id=" + GetPardotCampaign("Capis News");
            uri += "&from_email=" + ConfigurationManager.AppSettings["FromEmail"].ToString();
            uri += "&from_name=" + ConfigurationManager.AppSettings["FromName"].ToString();
            uri += "&name=FlyNews - " + DateTime.Now.ToString("MM/dd/yyy h:mm tt");
            uri += "&subject=CAPIS: Client Holdings News " + DateTime.Today.ToString("MM/dd/yyyy");
        }

        try
        {
            MultipartFormDataContent data = new MultipartFormDataContent();

            data.Add(new StringContent(htmlContent), "html_content");
            data.Add(new StringContent(textContent), "text_content");

            await client.PostAsync(uri, data);
            client.Dispose();
        }
        catch(Exception ex) …
Run Code Online (Sandbox Code Playgroud)

.net multipartform-data http-post dotnet-httpclient

2
推荐指数
1
解决办法
2564
查看次数

Hack news API - 获取所有新闻

我有https://github.com/HackerNews/API的问题。

我需要在第一页的 30 条新闻(标题、作者...)中获取 Angular 7 中的所有最佳新闻。如何使用下一个 api 发送 get 请求?

此 API 显示最佳故事的所有 ID:https : //hacker-news.firebaseio.com/v0/topstories.json?print=pretty

这个 api 展示了一个故事的例子:https : //hacker-news.firebaseio.com/v0/item/8863.json?print=pretty

我试试这个:

loadItem(){
this.http.get(`https://hacker- 
news.firebaseio.com/v0/item/${this.id}.json?print=pretty`).subscribe(data => {
    this.items.push(data as any[]);
  })
}    

loadBestItems(){
this.http.get('https://hacker-news.firebaseio.com/v0/beststories.json? 
print=pretty').subscribe(data => {
            this.bestItems.push(data as any[]);
          })
 } 
Run Code Online (Sandbox Code Playgroud)

我需要第一页上的 30 条最佳新闻

html javascript css angular angular-httpclient

2
推荐指数
1
解决办法
2939
查看次数

RxJ中依赖于链的可观察变量

链接一系列HttpClient调用的“最佳实践”是什么(假设当前调用取决于先前调用的结果)?以下解决方案是有效的,但显然不建议这样做。每个get返回一个Observable。在解决方案(RxJs中的较新方法)中首选使用“管道”运算符。

ngOnInit() {
  this.firstService.get().subscribe((first) => {
    this.secondService.get().subscribe(second => {
      this.thirdService.get().subscribe(third => {
        ... possibly more nested calls ...
      })
    })
  })
}
Run Code Online (Sandbox Code Playgroud)

rxjs angular angular-httpclient

1
推荐指数
1
解决办法
470
查看次数