|
This What's new in Visual Studio 2019 - Visual Studio[^] shows the difference between the 15, 17 and 19. I didn't like 15 as it was wacky, 17 was a better one, as it is more integrated with Azure and added Angular stuff. If you have access to the 2019 version, then yeah 19 for sure.
|
|
|
|
|
I have been using VS 2017 for the past two years. Never experienced any issues. The updates were frequent and things were dine nicely. Just a week ago, I installed VS 2019. Certain things like cloud development are easier in VS 2019. As backup, I keep pervious version. So, I uninstalled VS 2015.
|
|
|
|
|
Good to know thanks.
I have a feeling that the new version will use more hard disk space on my c drive which has limited space.
Brian
|
|
|
|
|
I am using a laptop that I purchased in 2012 with intel core i5 16 GB Ram and have not experienced any issues with VS 2019 with respect to memory or disk. I think what you are building within the Visual Studio could cause issues, but not necessarily by IDE.
|
|
|
|
|
I have 3 Network adapaters. I neeed the IP address of the primary, so I'm using this:
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
{
Console.WriteLine(ni.Name);
foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
{
if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine(ip.Address.ToString());
}
}
}
}
The question is, does NetworkInterface.GetAllNetworkInterfaces() return them in the correct order? How do you know which is the primary?
Thanks
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
That doesn't make sense as there's no such thing as a "primary" network adapter.
You can have a machine connected to multiple networks on multiple adapters. Which one is "primary" depends on which network subnet you arbitrarily consider "primary", and which adapater handles that subnet in the routing table.
The routing table also changes when network status changes, such as when you connect a VPN, or pop a laptop in/out of a dock and switch between wireless and wired networks.
|
|
|
|
|
Let me rephrase.
We have some instruments which use their own adapters. I want the IP address of the adapter connected to the LAN, not the IP address of the instruments
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
That doesn't make sense either as the only thing that gets and holds the IP address would be the adapter itself, not the device or code running on it.
The application on the device just says "send this data to this host". It's up to the network stack running on the device to figure out how to do that and which network adapter to use, based on the routing table. Once that is determined, it tells the adapter driver to send the data to the target host.
A single machine (or device) can have multiple IP addresses. The assignment of IP addresses stops at the network adapter. The device the adapters are "plugged into" never gets an address.
|
|
|
|
|
Hi,
I am not a C# programer but the "primary" network interface in the Microsoft Windows operating system is determined by the route metric.
If your question is: What is the primary adapter in Microsoft Windows?
Then the answer is: It's the network card that contains the route with the lowest metric. This applies to both ipv4 and ipv6.
Note: This does not mean the network interface is able to route traffic for all subnets... that would depend on the routing table which may be dynamic. The primary adapter is probably meaningless for your needs.
What exactly are you trying to do?
Best Wishes,
-David Delaune
|
|
|
|
|
I used various code combinations for web page reading, but i have this error:
[The remote server returned an error: (403) Forbidden]
My questions:
- I use VS2010. It's because my version of VS is so old, i keep getting this error?
- Is the same problem for newer versions of VS?
- If newer versions have no problem, what can i add to my version?
- Or if it's the code problem, what is the correct code?
This problem appear for SOME websites. But not on all.
this is a sample of code i use:
string urlAddress = "http://somesite.com";
string ReadPage()
{
string page = "";
HttpWebRequest request;
HttpWebResponse response = null;
Stream stream = null;
request = (HttpWebRequest)WebRequest.Create(urlAddress);
request.UserAgent = "Foo";
request.Accept = "*/*";
response = (HttpWebResponse)request.GetResponse();
stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream, System.Text.Encoding.Default);
page = sr.ReadToEnd();
if (stream != null) stream.Close();
if (response != null) response.Close();
return page;
}
Thank you.
|
|
|
|
|
It has nothing to do with Visual Studio and everything to do with your code, and you're assumptions about what you're doing and the site you're doing it with.
Why you're setting the UserAgent string and the Accept is beyond me. I also have no idea what you're trying to do so it's impossible to tell you what's going on.
|
|
|
|
|
I can't read html web pages because i get this error. Is now clear enough?
|
|
|
|
|
Remote server returned a 403; so it does not allow you to do what it is you want.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
i want to read a page and on this line :
request = (HttpWebRequest)WebRequest.Create(urlAddress);
the compiler stops and gives me this error:
[The remote server returned an error: (403) Forbidden]
but i just remember that i have .NET 4 and
"
in .NET 4.0, TLS 1.2 is not supported, but if you have .NET 4.5 (or above) installed on the system
then you still can opt in for TLS 1.2 even if your application framework doesn’t support it.
"
so i have to find a workaround.
(this is a comment from an old code i had and i just find it now)
- Is there a way to install a newer .NET in my VS2010 ? (the latest .NET that works for VS2019)
|
|
|
|
|
For .NET 4.5 and above, you need VS 2012 at a minimum.
YOu can get the latest Community Edition (free) from here[^] .
|
|
|
|
|
the problem is like this:
Sometimes, the content of webpage is read!!! But after a couple of readings on the same website, it gets stuck on this error. It's like some cookie is activated or something, and remembers that i was there before and not alowing me to enter anymore. And it's true for any page from that website after this thing happen. The problem is i don't know how to find and set that cookie from c#. I strongly believe is a cookie.
|
|
|
|
|
Your best source of information, and PERMISSION TO DO WHAT YOU WANT, is going to come from whoever owns the website you're trying to read.
Hell, they may even have an API you can use to get the data from the site instead of scraping web pages.
|
|
|
|
|
No, it's not.
There are a few ways to "read" a web page, like getting the directory of a website, which most site won't allow.
Then there's downloading the page and parsing it.
You give a "sample" site, but mention nothing about the site you're actually using so examining the details of the request and any response impossible.
Then there's authentication to the site, any cookie management it requires, javascript crap, ...
So, NO, it's not clear enough.
|
|
|
|
|
I also suspect its a cookie problem, as you mention. The page is loading for awhile, like 5 times for example, but after the first occurrence of the error, it never loads anymore. I have to wait like more than 1 day/or a couple of hours, until i try again and the same story repeats.
You mention about "examining the details of the request and any response" - give me a tutorial from which i can learn by myself how to do it, please. This web problem is not my strong point but i start to learn it through these errors i get, which sucks since it impedes my normal routine.
...Or summarize here yourself like a quick and dirty.
|
|
|
|
|
_Q12_ wrote: give me a tutorial from which i can learn by myself how to do it, please.
There isn't any tutorial for this. "This" just comes from a lot of experience and trial and error.
|
|
|
|
|
Dave Kreskowiak, my friend. Is not in my routine to do clever checks ! Especially for web problems.
But you suggested me to do a check just now. And i did it. And it seems the code is ok !!!
I tested it with another website and it loads fine...hopefully not getting the error after a couple of accessing like i described it already, though i repeated the request a couple of times and it seems ok so far.
Yah, shame on me not figuring this out so far.
But other than the code working, i still remain with the problem unsolved on the original link (that i cant mention).
- How to (generally speaking) check what a web page wants and implement it in c# after that? (avoiding this error i keep receiving?)
|
|
|
|
|
You don't do "clever checks"? Wow.
What you call "clever", I call basic troubleshooting.
And the only way to "figure out" what a site wants is to use a web browser to navigate around the site and "cleverly" use a tool like Fiddler (Google it) to see what's passed to the site and what comes back.
Keep in mind, the site may also implement filters to prevent you from doing what you're doing, like X number of requests in a certain amount of time. There's nothing you can do to get around that.
|
|
|
|
|
Hi,
it probably means the site you're trying to access requires TLS1.2; there are at least two ways to get there:
- use a sufficiently recent .NET version (and hence dito Visual Studio);
- or use the following hack, which works for me even on .NET 2.0 and Visual Studio 9, presuming your Windows is sufficiently recent (say Win10):
using System.Net.Security;
using System.Security.Principal;
...
ServicePointManager.SecurityProtocol=(SecurityProtocolType)3072;
using (WebClient wc=new WebClient()) {
}
|
|
|
|
|
hi Luc, yes you are right. For awhile, some time ago, this little workaround that you are saying here worked fine. But after some 'internet' updates, like the [https] thing and more others that were very in shadow for me, but my code could sense them and i had to came back and guess, figure out, what he wants, until it worked again. And this thing you are specifying here was one of the problems i had to find and resolve. But it worked a limited time. It still works i suppose, but the cause of my recent error it seems to be other than this resolve here.
I have windows7
This is what i have too, like you mentioned :
ServicePointManager.Expect100Continue = true;
ServicePointManager.DefaultConnectionLimit = 9999;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
|
|
|
|
|
where I needed the hack, it still works today.
So you must be facing another problem, requiring some other fix.
|
|
|
|