Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 16 16:16

    wtgodbe on 3.1

    Fix a potential race in iterati… (compare)

  • Nov 16 16:16
    wtgodbe closed #28112
  • Nov 16 16:15

    wtgodbe on 3.1

    Fix ilasm managed resource look… (compare)

  • Nov 16 16:15
    wtgodbe closed #28104
  • Nov 13 18:16
    k15tfu commented #25801
  • Nov 13 18:05
    azure-pipelines[bot] commented #28104
  • Nov 13 18:05
    wtgodbe commented #28104
  • Nov 12 16:55

    sdmaclea on 3.1-crossdac

    Fix remote-unwind for TARGET_AR… Merge pull request #28115 from … (compare)

  • Nov 12 16:55
    sdmaclea closed #28115
  • Nov 12 15:35
    janvorli commented #25801
  • Nov 12 12:54
    k15tfu commented #25801
  • Nov 12 07:24
    Robird commented #27216
  • Nov 12 03:45
    sdmaclea review_requested #28115
  • Nov 12 03:44
    sdmaclea review_requested #28115
  • Nov 12 03:44
    sdmaclea assigned #28115
  • Nov 12 03:44
    sdmaclea labeled #28115
  • Nov 12 03:44
    sdmaclea labeled #28115
  • Nov 12 03:44
    sdmaclea labeled #28115
  • Nov 12 03:44
    sdmaclea milestoned #28115
  • Nov 12 03:44
    sdmaclea opened #28115
Joseph Musser
@jnm2
To me it comes down to, who do I want to be, and what do I think is healthy for me and others in the long run? And to realize that I'm not a prisoner to what my opinions or goals were in the past.
Joseph Musser
@jnm2
I'm purposely being abstract and this kind of evaluation does apply to all aspects of my life, but if you wanted to tie it into politics we can take it to private chat since it would not really be polite to discuss that in a shared room.
Joseph Musser
@jnm2
To just go back to talking about memories, I would see it as a terrible thing if I felt that it was more important for me to convince people that I was right than for me to understand the best version of their point of view and to look for the idea that's the most helpful for both of us. That having-to-be-right stuff is not one bit enjoyable in the long run for me. Frustration on one hand, hollow victories on the other hand. Both broadcasting how much more important I think I am compared to whoever I was just talking to.
So yeah, for me anyway, life has much more satisfying things in it than winning.
Hugh Gleaves
@Korporal
I agree with Bertrand Russel that all human activity is driven by desire.
Joseph Musser
@jnm2
You can't argue with that, can you? Attachment and aversion :) Depends on how you define desire.
I think that desires can change, that our desires often originate in things outside our control or awareness, and that our understanding of our own motivations is probably inherently confabulatory.
Hugh Gleaves
@Korporal
I am trying to find src for HttpWebRequest.GetResponseAsync
but the ref source shows no such method
Hugh Gleaves
@Korporal
Its in a base class WebRequest...
Anyway GetResponseAsync is throwing a WebException that's a timeout - does the async call timeout if it hasn't completed within the timeout window? is that what goes on?
Hugh Gleaves
@Korporal
Does anyone know? is there anyone that can tell me if GetResponseAsync can or cannot throw a timeout related exception?
Hugh Gleaves
@Korporal
OK I understand what I was seeing now. HttpWebRequest derives from WebRequest.
each class has Timeout property they are distinct, the derived class does not touch the base class's Timeout
Changing Timeout on a HttpWebRequest instance has no impact on problem, operation still times out
Therefore this was needed and it worked:
        ((WebRequest)(request)).Timeout = 1000000;
VS though says the cast is redundant but I dont see that.
Hugh Gleaves
@Korporal
No Im wrong, messed up thinking, doing too many things at once
Joseph Musser
@jnm2
@Korporal HttpClient is the recommendation, WebClient is outdated and not recommended
One thing I ran into that led to timeouts was that WebClient defaults to keep-alive
WebClient sends headers that you didn't specify, HttpClient doesn't
Hugh Gleaves
@Korporal
OK yes, I will evaluate HttpClient, I just need this unexplained 100 sec timeout on an async operation, to go away.
Hugh Gleaves
@Korporal
MS have made stuff very confusing over the past few years. Their documentation states Assembly names that code is in but never tells us if that assembly is part of framework or must be pulled from Nuget.
System.Net.Http is a framework assembly yet System.Net.Http.Json is not it seems.
I can't believe the jumping around I have to do just to submit a simple async HTTP put FFS
Hugh Gleaves
@Korporal
To use HttpClient all of this already tested and stable (except for async timing out after 100 secs) code must be replaced, why has MS had so much trouble with supporting HTTP operations that have been around since the days of Noah.
    private static HttpWebRequest CreateRequest(string Method, string Url, IDictionary Args)
    {
        string json = JsonSerializer.Serialize(Args);

        var request = (HttpWebRequest)WebRequest.Create(Url);

        request.Timeout = 10000;

        //((WebRequest)(request)).Timeout = 1000000;

        request.Method = Method;
        request.ContentType = "application/json";

        var bytes = Encoding.ASCII.GetBytes(json);

        request.ContentLength = bytes.Length;

        using (var stream = request.GetRequestStream())
        {
            stream.Write(bytes, 0, bytes.Length);
        }

        return request;
    }
Whatever happened to the concept we we're all lectured about for years, you know that concept?
"reuse".
This isn't reuse, this is rewrite, that's another OO promise that's been abandoned.
Michał Zegan
@webczat
what 100 sec timeout?
Hugh Gleaves
@Korporal
WebRequest.GetResponseAsync is throwing a WebException that's a timeout.
Its abstract, that actual class is HttpWebRequest but it does not override the async methods, so these are all in the base class
setting HttpWebRequest.Timeout seems to have no effect (hence its commented out in that code fragment above)
Michał Zegan
@webczat
so what's the problem with HttpClient instead?
Hugh Gleaves
@Korporal
Changing the above code to rely on HttpClient takes time that's all, and retesting and may itself uncover oddities.
that code returns an HttpWebRequest, that'll change so all callers must change etc etc.
Michał Zegan
@webczat
well HttpClient is really the way to go, it's an api designed differently etc, more composable for example
Hugh Gleaves
@Korporal
I'm sure its better Michal, no problem with that but our work these days is just non-stop jumping around, rewriting stuff over and over - as I said, whatever happened to the promise of "reuse" we we're lectured about by the OO and .Net gurus.
Michał Zegan
@webczat
well there is reuse. they didn't remove the old api :) if you really need it you can use it
but then if the api is too limited for use cases whatever then the only thing you can do is rewrite sometimes
Hugh Gleaves
@Korporal
In addition, since I have no real idea why the timeout occurs, it might not be in the HttpWebRequest area at all, until I rewrite the code and retest I won't know. If the timeout has some other cause (like for example ServicePoint details). If I rewrite yet continue to see the problem, all of the time spent studying HttpClient and rewriting the code is a total waste of resources.
All too often we hear "Well just use XXX" as if this were a five minute tweak, it often isn't and the costs, time, impact is huge - this is especially true of fixed deadline projects (which I hasten to add, "agile" is utterly useless for).
Sorry to gripe, but this is what development has become.
I have hard deadlines of Dec 1 for a bunch of stuff, hitting fixed deadlines requires planning something agile is weak at (because - incorrectly - the term "planning" is taken to mean "waterfall" which is not true).
Hugh Gleaves
@Korporal
Is PresentationCore.dll part of .Net Std ?
Jesper Hansen
@jespersh
@Korporal no, it is windows specific for wpf
Joseph Musser
@jnm2
@Korporal Did you try my suggestion of setting Connection: close instead of the default keep-alive header that HttpWebRequest adds? That solved the timeouts for me. Then I moved to HttpClient anyway.