小编Jak*_*urc的帖子

AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?

有三个程序集版本属性.有什么区别?如果我使用AssemblyVersion并忽略其余部分可以吗?


MSDN说:


这是使用装配属性的最佳做法的后续行动

.net attributes assemblies

844
推荐指数
6
解决办法
17万
查看次数

如何为我的HttpClient PostAsync第二个参数设置HttpContent?

public static async Task<string> GetData(string url, string data)
{
    UriBuilder fullUri = new UriBuilder(url);

    if (!string.IsNullOrEmpty(data))
        fullUri.Query = data;

    HttpClient client = new HttpClient();

    HttpResponseMessage response = await client.PostAsync(new Uri(url), /*expects HttpContent*/);

    response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
    response.EnsureSuccessStatusCode();
    string responseBody = await response.Content.ReadAsStringAsync();

    return responseBody;
}
Run Code Online (Sandbox Code Playgroud)

PostAsync采取一个需要另一个参数HttpContent.

我该如何设置HttpContent?任何适用于Windows Phone 8的文档都没有.

如果我这样做GetAsync,那就太棒了!但它需要POST的内容为key ="bla",某事="yay"

//编辑

非常感谢答案......这很有效,但这里还有一些不确定的地方:

    public static async Task<string> GetData(string url, string data)
    {
        data = "test=something";

        HttpClient client = new HttpClient();
        StringContent queryString …
Run Code Online (Sandbox Code Playgroud)

c# httpcontent dotnet-httpclient

237
推荐指数
3
解决办法
34万
查看次数

为什么使用HttpClient进行同步连接

我正在构建一个类API来与API进行交互.我需要调用API并处理XML响应.我可以看到HttpClient用于异步连接的好处,但我正在做的是纯粹的同步,所以我看不到使用它的任何重大好处HttpWebRequest.

如果有人可以放弃任何光线,我将非常感激.我不是为了它而使用新技术的人.

c# asp.net dotnet-httpclient

173
推荐指数
7
解决办法
14万
查看次数

使用装配属性的最佳做法是什么?

我有一个多项目的解决方案.我试图通过链接一个解决方案范围的程序集信息文件来优化AssemblyInfo.cs文件.这样做的最佳做法是什么?哪些属性应该在解决方案范围的文件中,哪些属于项目/程序集特定?


编辑:如果您有兴趣,有一个后续问题AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?

.net attributes assemblies assemblyinfo

162
推荐指数
5
解决办法
5万
查看次数

是否有像cmd.exe的sed工具?

我想使用Windows命令行(cmd.exe)以编程方式编辑文件内容.在*nix中有这个任务的sed.在Windows中有没有有用的等价物?

编辑:我正在寻找本机命令行解决方案.

windows cmd sed

143
推荐指数
12
解决办法
20万
查看次数

Angular 4 HttpClient查询参数

我一直在寻找一种方式来传递查询paramters与新API调用HttpClientModuleHttpClient,还没有找到一个解决方案.使用旧Http模块,您可以编写类似这样的内容.

getNamespaceLogs(logNamespace) {

    // Setup log namespace query parameter
    let params = new URLSearchParams();
    params.set('logNamespace', logNamespace);

    this._Http.get(`${API_URL}/api/v1/data/logs`, { search: params })
}
Run Code Online (Sandbox Code Playgroud)

这将导致对以下URL的API调用:

localhost:3001/api/v1/data/logs?logNamespace=somelogsnamespace

但是,新HttpClient get()方法没有search属性,所以我想知道在哪里传递查询参数?

http typescript lodash angular angular-httpclient

123
推荐指数
5
解决办法
15万
查看次数

如何使用Apache HttpClient处理无效的SSL证书?

我知道,关于这个问题有很多不同的问题和很多答案...但我无法理解......

我有:ubuntu-9.10-desktop-amd64 + NetBeans6.7.1从"关闭"安装.代表.我需要通过HTTPS连接到某个站点.为此我使用Apache的HttpClient.

从教程我读到:

"一旦正确安装了JSSE,通过SSL进行安全的HTTP通信
就像普通的HTTP通信一样简单." 还有一些例子:

HttpClient httpclient = new HttpClient();
GetMethod httpget = new GetMethod("https://www.verisign.com/"); 
try { 
  httpclient.executeMethod(httpget);
  System.out.println(httpget.getStatusLine());
} finally {
  httpget.releaseConnection();
}
Run Code Online (Sandbox Code Playgroud)

到现在为止,我写道:

HttpClient client = new HttpClient();

HttpMethod get = new GetMethod("https://mms.nw.ru");
//get.setDoAuthentication(true);

try {
    int status = client.executeMethod(get);
    System.out.println(status);

    BufferedInputStream is = new BufferedInputStream(get.getResponseBodyAsStream());
    int r=0;byte[] buf = new byte[10];
    while((r = is.read(buf)) > 0) {
        System.out.write(buf,0,r);
    }

} catch(Exception ex) {
    ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

结果我有一组错误:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable …
Run Code Online (Sandbox Code Playgroud)

java ssl https apache-commons-httpclient

120
推荐指数
8
解决办法
29万
查看次数

什么是C#中的错误操作符?

C#中有两个奇怪的运算符:

如果我理解这一点,这些运算符可以用于我想要使用的类型而不是布尔表达式,并且我不希望提供对bool的隐式转换.

假设我有以下课程:

    public class MyType
    {
        public readonly int Value;

        public MyType(int value)
        {
            Value = value;
        }

        public static bool operator true (MyType mt)
        {
            return  mt.Value > 0;
        }

        public static bool operator false (MyType mt)
        {
            return  mt.Value < 0;
        }

    }
Run Code Online (Sandbox Code Playgroud)

所以我可以编写以下代码:

    MyType mTrue = new MyType(100);
    MyType mFalse = new MyType(-100);
    MyType mDontKnow = new MyType(0);

    if (mTrue)
    {
         // Do something.
    }

    while (mFalse)
    {
        // Do something else. …
Run Code Online (Sandbox Code Playgroud)

.net c# syntax

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

专有代码的代码头

我们需要在公司外部发送一些源代码,我必须在每个文件中添加标题,并注明明确说明源代码是我们的属性,并且任何人都不允许对它做任何事情.

你知道我可以用的任何标题模板吗?

templates code-layout

64
推荐指数
4
解决办法
8万
查看次数

尝试并行运行多个HTTP请求,但受Windows限制(注册表)

我正在开发一个应用程序(winforms C#.NET 4.0),我通过简单的HTTP请求从第三方访问查找功能.我用一个参数调用一个url,作为回报,我得到一个带有查找结果的小字符串.很简单.

然而,挑战是,我必须做很多这些查找(成千上万),我想限制所需的时间.因此,我想并行运行请求(例如10-20).我使用ThreadPool来做到这一点,我的代码的简短版本如下所示:

public void startAsyncLookup(Action<LookupResult> returnLookupResult)
{
    this.returnLookupResult = returnLookupResult;

    foreach (string number in numbersToLookup)
    {
        ThreadPool.QueueUserWorkItem(lookupNumber, number);
    }
}

public void lookupNumber(Object threadContext)
{
    string numberToLookup = (string)threadContext;
    string url = @"http://some.url.com/?number=" + numberToLookup;
    WebClient webClient = new WebClient();
    Stream responseData = webClient.OpenRead(url);
    LookupResult lookupResult = parseLookupResult(responseData);

    returnLookupResult(lookupResult);
}
Run Code Online (Sandbox Code Playgroud)

我从另一个地方填写numbersToLookup(a List<String>),打电话startAsyncLookup并提供回叫功能returnLookupResult以返回每个结果.这有效,但我发现我没有得到我想要的吞吐量.

最初我认为它可能是第三方的系统结构很差,但我通过尝试同时从两台不同的机器运行相同的代码来排除这种情况.两个人中的每一个都花了一个人,所以我可以排除那一个.

然后一位同事告诉我,这可能是Windows的限制.我google了一下,发现这篇帖子说默认情况下,Windows将同一个Web服务器的同时请求数量限制为HTTP 1.0为4,HTTP 1.1为2(对于HTTP 1.1,这实际上是根据规范( RFC2068)).

上面提到的同一篇文章也提供了增加这些限制的方法.通过向[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings](MaxConnectionsPerServer和MaxConnectionsPer1_0Server)添加两个注册表值,我可以自己控制它.

所以,我尝试了这个(坐到20),重新启动我的电脑,并试图再次运行我的程序.可悲的是,它似乎没有任何帮助.我在运行批量查找时也一直关注资源监视器(参见屏幕截图),我注意到我的应用程序(标题为黑屏的应用程序)仍然只使用了两个TCP连接.

所以,问题是,为什么这不起作用?我使用错误的注册表值链接的帖子是?这可能不再可能在Windows中"破解"(我在Windows 7上)? …

c# multithreading dotnet-httpclient

63
推荐指数
2
解决办法
5万
查看次数