小编Pie*_*arg的帖子

如何阻止HttpClient.GetAsync(uri)挂起?

我有以下代码用于调用uri:

var uri = string.Format("Helpers/ProfileList/Online/?locationId=0&skip=0&take={0}", numProfiles);
HttpResponseMessage response = await client.GetAsync(uri);
response.EnsureSuccessStatusCode();
Run Code Online (Sandbox Code Playgroud)

uri指向一个自定义的web api uri(我可以调试并完成).但是,当调用api中的最后一个return语句时,似乎什么也没发生.它应该去response.EnsureSuccessStatusCode();线,但事实并非如此.它似乎挂了.

c# async-await asp.net-web-api

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

为什么我的解决方案使用错误的 dll 版本构建?

我正在使用 Microsoft.SQLServer.Types 来使用空间类型。我正在从 Nuget 安装 11.x 版。

当我使用 Visual Studio (2013) 发布解决方案时,它将版本 11.x 复制到 bin 文件夹。

但是,当我使用 MSBuild 进行构建时,它会将版本 10.x 复制到 bin 文件夹中。

任何想法为什么?

这是引用 dll 的 csproj 文件的一部分:

<Reference Include="Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
    <HintPath>..\packages\Microsoft.SqlServer.Types.11.0.1\lib\net20\Microsoft.SqlServer.Types.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)

此外,复制本地设置为 true。

另外,我在该项目的 web.config 中有这个:

<dependentAssembly>
    <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

c# msbuild nuget

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

为什么我的lambda无法与弹性帽说话?

我有一个Redis ElastiCache集群,它具有以下格式的主节点的FQDN : master.clustername.x.euw1.cache.amazonaws.com. 我还有一个Route53记录,CNAME指向该FQDN.

我在与群集相同的VPC中有一个.net核心lambda,可通过安全组访问群集.lambda使用Stack Overflow开发的Redis库(Github repo在这里作为参考)与集群对话.

如果我给lambda主机名为Redis集群(开头的那个master)的FQDN,我可以连接,保存数据并读取它.

如果我给lambda提供CNAME(当我从本地机器ping它时,CNAME提供与FQDN相同的IP地址,如果我在lambda中使用Dns.GetHostEntry)它也没有连接,我得到以下错误信息:

One or more errors occurred. (It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING): AggregateException
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at lambda_method(Closure , Stream , Stream , LambdaContextInternal )

at StackExchange.Redis.ConnectionMultiplexer.ConnectImpl(Func`1 multiplexerFactory, TextWriter log) in c:\code\StackExchange.Redis\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 890
at lambda.Redis.RedisClientBuilder.Build(String redisHost, String redisPort, Int32 redisDbId) in C:\BuildAgent\work\91d24911506461d0\src\Lambda\Redis\RedisClientBuilder.cs:line 9
at lambda.Ioc.ServiceBuilder.GetRedisClient() in C:\BuildAgent\work\91d24911506461d0\src\Lambda\IoC\ServiceBuilder.cs:line 18 …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services redis stackexchange.redis .net-core aws-lambda

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

C#中新行的字符表达式是什么?

我在页面上有一个文本框控件,我希望人们添加URL,每行一个,然后将这些URL拆分成一个数组.

所以,我试图将它们拆分为换行符.我试过了:

.split(Environment.Newline)
.split('vbcrlf')
.split(vbcrlf)
.split((char)Environment.Newline)
Run Code Online (Sandbox Code Playgroud)

但一切都无济于事.我究竟做错了什么?

c# asp.net

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

你有多个domready活动吗?

我对mootools有点新意,但我知道在jQuery中你可以有更多的那个函数(在多个文件中):

$(document).ready(function() {
    // put all your jQuery goodness in here.
});
Run Code Online (Sandbox Code Playgroud)

但你能用mootools做类似的事情吗?

我已经有了一个window.addEvent( "domready", function() {已经在我的页面中,我真的不想完全改变那段代码,但我希望能够在标题中的单独文件中添加另一个domready函数.

这可能吗?或者我只是想以另一种方式解决这个问题?

javascript jquery mootools

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

如何更改配置转换中的内部文本而不是属性?

我已经经常使用配置转换,但我正在努力解决一点:“内部文本”而不​​是属性的更改。

作为示例,我在配置文件中包含以下内容(如果有人感兴趣,可以使用 Sitecore 为营销人员提供的网络表单):

<param desc="connection string">Database=sitecore_webforms;Data Source=CHANGEME;user id=CHANGEME;password=CHANGEME;Connect Timeout=30</param>

我想将其更改为正确的连接字符串。通常这将是我可以做得很好的属性的一部分,但在这种情况下却不是。

使用“vanilla”转换或Sayed Ibrahim Hashimi的 SlowCheetah 是否可以实现这一点?

asp.net web-config-transform

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

有什么像webrick for ASP.NET?

这似乎是一个非常奇怪的问题,但只是和我一起去了一秒钟.

当您安装rails时,您必须有机会在webrick上测试您的开发,这是一个非常简单的Web服务器(或者如果您安装了gem,则可以使用mongrel).

我知道在开发ASP.NET时你可以使用Visual Studio附带的内置服务器,但是我想知道如果你没有visual studio的副本或者不知道如何配置,你会有什么东西可以拥有IIS但仍想运行ASP.NET Web应用程序,比如在家用PC或笔记本电脑上运行.

正如我所说,一个奇怪的问题,但我只是想我会问.

c# asp.net webserver

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

如何使用.NET API为AWS S3上传生成请求签名?

我直接从Amazon使用.NET API将一些文件上传到S3.

但是,我收到了异常消息: The request signature we calculated does not match the signature you provided. Check your key and signing method.

我的代码如下:

    AmazonS3 s3Client = AWSClientFactory.CreateAmazonS3Client("myaccessid","mysecretid");
    List<string> allFileNames = ProcessFiles(@"c:\Dev\pktest\");
    foreach (string file in allFileNames)
    {                   

        PutObjectRequest putObjectRequest = new PutObjectRequest
        {
            BucketName = "rhspktest",
            FilePath = file,
            Key = file,
            Timeout = 3600000                       
         };

         try
         {
             using (S3Response response = s3Client.PutObject(putObjectRequest)) { };
         }
         catch (AmazonS3Exception ex)
         {
             Console.WriteLine(ex.Message);
         }

            Console.WriteLine(file);

      }
      Console.Read();
Run Code Online (Sandbox Code Playgroud)

有什么事情显而易见我做错了吗?

ProcessFiles方法只返回该目录中的文件名列表.

c# amazon-s3 amazon-web-services

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

我应该在SQL或LINQ中执行Where子句吗?

我有一个方法可以将where子句传递给查询.然后,此方法返回一个DataSet.

什么是更快,更有效?要传递where子句,以便SQL Server发回较少的数据(但必须做更多工作)或让Web服务器通过LINQ处理它?

编辑:

这假设SQL Server比Web服务器更强大(可能应该是这种情况).

c# linq asp.net

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

如何在属性中搜索特定值?

我有以下Entity Framework模型:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Email> EmailAddresses { get; set; }
}

public class Email
{
    public int Id { get; set;}
    public int Type { get; set; }
    public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够查询这些并找回具有特定电子邮件地址的人员.

这可能吗?我知道如果列表只是一个字符串列表,它将是这样的:

PersonRepository.Where(x => x.Emails.Contains("myemail@host.com")) 但我被困在这里

c# linq

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