Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Gul Banana
Nov 28, 2003

oh poo poo, just heard the news that asp.net 5 (vNext) will not support vb.net
perhaps this will be the catalyst for me to escape it at last

Adbot
ADBOT LOVES YOU

RICHUNCLEPENNYBAGS
Dec 21, 2010

Gul Banana posted:

oh poo poo, just heard the news that asp.net 5 (vNext) will not support vb.net
perhaps this will be the catalyst for me to escape it at last

How could it not support VB.NET?

Gul Banana
Nov 28, 2003

Presumably the relevant team took a look at their userbase, decided VB.NET wasn't worth the extra effort, and secured an exemption from whatever internal mandate has previously governed such things...

Or do you mean technically "how"? It doesn't use msbuild, or the csproj/vbproj system. There's a new build+runtime system called K, which runs on top of .NET, Core CLR, or Mono; it uses project.json files, special in-memory compilation and change detection for reload workflow, it's cross platform.. they even have some actual mods to C# itself, like [AssemblyNeutral]. You can reference, say, a nuget package containing a dll implemented in VB or F# - as long as it is written as a PCL for .net4.6+coreclr, assuming those exist now - but you can't use any language other than C# in the actual web projects or in dependencies that use K to build.

Gul Banana fucked around with this message at 02:21 on Feb 1, 2015

Gul Banana
Nov 28, 2003

Gul Banana posted:

a PCL for .net4.6+coreclr, assuming those exist now
it seems they don't. Now that's a pain no matter what language you're using, and probably a dealbreaker for us porting anything to Core CLR at work. We're not going to turn project references into nuget packages with a custom unzip/repack system just to use within a solution.

Gul Banana fucked around with this message at 02:48 on Feb 1, 2015

Space Whale
Nov 6, 2014
So I spent Friday getting teamcity working and now find myself wondering how to best leverage it. We can and do use azure deploy. I can also, of course, spin up my web app on the same machine that teamcity runs on.

Which would be recommended? For internal dev stuff I'm thinking on the server that's ten feet from me, and for UAT or show and tell with management, azure.

Also, what about MSBuild should o watch out for? Until now I've just ran a script if I played with java and used visual studio to debug or the click once deploy.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Space Whale posted:

So I spent Friday getting teamcity working and now find myself wondering how to best leverage it. We can and do use azure deploy. I can also, of course, spin up my web app on the same machine that teamcity runs on.

Which would be recommended? For internal dev stuff I'm thinking on the server that's ten feet from me, and for UAT or show and tell with management, azure.

Also, what about MSBuild should o watch out for? Until now I've just ran a script if I played with java and used visual studio to debug or the click once deploy.

Have you looked at MS release management? It integrates with Azure IaaS fairly nicely (PaaS is still a clusterfuck) and it's free if you already have VS MSDN licensing.

Teamcity builds your binaries, you make a call out to the RM API to tell it to initiate a release, the RM server grabs the binaries and starts a release workflow to go from environment to environment (with automated approval gates between each environment) and execute a DSC or PowerShell script to install the software.

Like I said in the devops thread, don't use MSbuild to release your software. Click once deployment is also awful, and webdeploy runs counter to best practices... the software that goes to your production servers shouldn't be a fresh build, it should be a build that's actually gone through QA/regression testing.

You can PM me if you want to talk specifics, my job is focused on ALM in the Microsoft world and devops is my area of expertise.

New Yorp New Yorp fucked around with this message at 21:54 on Feb 1, 2015

Mr Shiny Pants
Nov 12, 2012
I've been rewriting some of my stuff using the new async / await keywords and I am wondering about the following:

I have a HttpListener that runs in a while loop. In this loop I await GetContextAsync and process the request when a request comes.

This works as it should but now I want to support cancellations in my request handler code. Say I am writing a file to disk and something crashes I want to cancel the requests cleanly.

How would I go about doing this?

I've reading up on this and I was thinking about 1 CancellationToken as the server spins up and for every request that it processes create a Linked CancellationToken with the main token as parent token. So if I stop the server and issue a Token cancel all linked tokens will cancel their respective outstanding tasks and do any necessary housekeeping I might wish to add.

Does this work as I think it does? If I cancel the main token all linked tokens cancel also, but a linked token can cancel on it's own without interrupting the parent token right?

wwb
Aug 17, 2004

Space Whale posted:

So I spent Friday getting teamcity working and now find myself wondering how to best leverage it. We can and do use azure deploy. I can also, of course, spin up my web app on the same machine that teamcity runs on.

Which would be recommended? For internal dev stuff I'm thinking on the server that's ten feet from me, and for UAT or show and tell with management, azure.

Also, what about MSBuild should o watch out for? Until now I've just ran a script if I played with java and used visual studio to debug or the click once deploy.

MSBuild is a pretty fugly XML language you can't completely avoid for .NET stuff as it is the basic language of .NET building -- everything else rides on top of it in some way. That said, it is tough to work with and to be honest I'm moving as much above and around it -- using anything from powershell scripts to tools like FAKE -- to make things more easily understandable and maintainable.

Our typical deployments are not as fancy as Ithaqs -- we usually use MSBuild to create the binaries and other artifacts and then robocopy to deploy the artifacts to the right places on the web servers. I don't think rebuilding the binaries at each tier is that much of a problem -- presuming you've got the same inputs and same process of building it is reasonable to presume the same outputs.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

wwb posted:

Our typical deployments are not as fancy as Ithaqs -- we usually use MSBuild to create the binaries and other artifacts and then robocopy to deploy the artifacts to the right places on the web servers. I don't think rebuilding the binaries at each tier is that much of a problem -- presuming you've got the same inputs and same process of building it is reasonable to presume the same outputs.

Depends on how long your dev/QA cycles are, honestly. If they're short, it's probably not a huge risk. If they're long, there are a few things that can happen between QA and prod that make it risky:

1) Build environment changes (.NET 4.0 to 4.5, hello potential breaking changes)
2) Code changes (someone sneaks a few extra changes in, suddenly what you've been testing isn't what you're deploying to prod). This is especially true if you build/release from different branches to different environments.

Obviously, there's no 100% correct way to tackle this. In my experience, building once is lowest risk.

wwb
Aug 17, 2004

^^^ If you set things up right that doesn't happen. It is easy enough to configure things to look for a specific tag or rely upon chained builds. If you have that big a change in your environment like switching framework versions between cycles you are doing a bunch wrong.

Gul Banana
Nov 28, 2003

code:
' This must be of func type to work around a compiler error where the anonymous function type is unconditionally instantiated for delegate conversion despite having been subsequently nulled
-- me just now :-(

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Gul Banana posted:

oh poo poo, just heard the news that asp.net 5 (vNext) will not support vb.net
perhaps this will be the catalyst for me to escape it at last

Do you have any source that it will not support vb.net, as opposed to just not supporting it now while it's still in beta?

Our company's projects are all in VB.Net, and we're just about to start bringing some of those from the desktop to the web, so it was quite a bummer when I grabbed the MVC 6 starter project, converted to VB everything I could find in the project folder, and it still doggedly showed a reference to MS.Csharp.dll and refused to compile.

It would suck pretty hard to have to choose between learning an already-obsolete framework, and the drudgery of converting some really fat DLLs after persuading the older programmers to switch syntax. (Plus, I like VB.Net better than C# myself.)

Gul Banana
Nov 28, 2003

Yeah, I had a conversation with David Fowler. He stated pretty clearly that they're not going to support languages other than C# in KRuntime projects (actual asp.net sites and new-style class libraries).
This issue got me interested: https://github.com/aspnet/Home/issues/236

@davidfowl confirmed no vb support, and that also if those extensibility points do get created, they won't be used by Microsoft for vb support. However, they do intend to provide some way to reference projects written in VB/C++CLI/etc FROM asp.net projects, certainly if you're targetting the desktop .NET framework and "not yet" otherwise. Right now, referencing VB projects isn't working even for targeting net45, but they will definitely support at least that much.

twodot
Aug 7, 2005

You are objectively correct that this person is dumb and has said dumb things
The source for the CLR for .NET Core went live this morning:
https://github.com/dotnet/coreclr/tree/master/src
edit:
Here is the file I alluded to earlier that turns features on or off for different SKUs:
https://github.com/dotnet/coreclr/blob/master/clr.props

twodot fucked around with this message at 19:46 on Feb 3, 2015

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy
I've always been curious what the GC code looked like for .NET. I can say now that I never want to look at it again.

https://raw.githubusercontent.com/dotnet/coreclr/cbf46fb0b6a0b209ed1caf4a680910b383e68cba/src/gc/gc.cpp

TheReverend
Jun 21, 2005

Hey so long shot I know but does anyone have the installer for the Dotfuscator Enhanced Community Edition (version 4.2 ish).


I'm thinking since it's free (when it existed and was on the website) it's not bad to ask for?

Chill Callahan
Nov 14, 2012

Bognar posted:

I've always been curious what the GC code looked like for .NET. I can say now that I never want to look at it again.

https://raw.githubusercontent.com/dotnet/coreclr/cbf46fb0b6a0b209ed1caf4a680910b383e68cba/src/gc/gc.cpp

I wish they opensourced /doc/BookOfTheRuntime/GC/GCDesign.doc

twodot
Aug 7, 2005

You are objectively correct that this person is dumb and has said dumb things

Chill Callahan posted:

I wish they opensourced /doc/BookOfTheRuntime/GC/GCDesign.doc
I suspect that the blog of the primary dev on the GC is actually a more useful resource for understanding the GC:
http://blogs.msdn.com/b/maoni/
But hopefully they'll get around to releasing the Book Of The Runtime also.
edit:
The Compact Framework is a different code base, but uses some of the same strategies:
http://blogs.msdn.com/b/abhinaba/archive/2009/01/25/back-to-basic-series-on-dynamic-memory-management.aspx

Chill Callahan
Nov 14, 2012

twodot posted:

I suspect that the blog of the primary dev on the GC is actually a more useful resource for understanding the GC:
http://blogs.msdn.com/b/maoni/
But hopefully they'll get around to releasing the Book Of The Runtime also.
edit:
The Compact Framework is a different code base, but uses some of the same strategies:
http://blogs.msdn.com/b/abhinaba/archive/2009/01/25/back-to-basic-series-on-dynamic-memory-management.aspx:

Looks like they are going to release it. From http://blogs.msdn.com/b/dotnet/archive/2015/02/03/coreclr-is-now-open-source.aspx

"Immo Landwerth [MSFT posted:

"]
> What's that BookOfTheRuntime? Can we have it?

Book of the runtime (BOR) is a term we use for implementation specific documentation that our devs wrote. Yes, we're going to publish them. Currently, it's a mix of Word documents, HTML files, and CHM files. We've a task to convert them to standard Markdown documents.

Thanks for the links also!

Inverness
Feb 4, 2009

Fully configurable personal assistant.
I've never seen this many #ifdefs in one place in my life.

Edit: I saw a question being asked on the blog. mscorlib and corefx share some of the same classes, such as when it comes to collections. What's going to be done about this?

Inverness fucked around with this message at 03:30 on Feb 4, 2015

Gul Banana
Nov 28, 2003

drat, they must have some pretty specialised workflow for handling that particular file

Factor Mystic
Mar 20, 2006

Baby's First Post-Apocalyptic Fiction
The discussion on the roslyn repo is really interesting, I recommend checking it out. I'm particularly interested in watching the discussion & work on destructible types and method contracts. Fascinating.

Captain Capacitor
Jan 21, 2008

The code you say?
I know this isn't entirely on topic but if anyone has any gross issues with Azure I'm finally in a position to do something about it. Drop me a PM and I'll do my best to help out.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Captain Capacitor posted:

I know this isn't entirely on topic but if anyone has any gross issues with Azure I'm finally in a position to do something about it. Drop me a PM and I'll do my best to help out.

I've wanted environment snapshots since day 1 of using Azure. Even better, snapshots of all the IaaS VMs in a cloud service.

ljw1004
Jan 18, 2005

rum

Captain Capacitor posted:

I know this isn't entirely on topic but if anyone has any gross issues with Azure I'm finally in a position to do something about it. Drop me a PM and I'll do my best to help out.

Just to say, I only learnt about "Azure Webjobs" last week, and I'm OVERJOYED!!!

Seriously, my number one complaint about azure used to be worker roles. They took ten minutes to deploy. It was hard to get logging out of them. And trying to write something like an algorithm for "guarantee execution at least once a day" required distributed mutexes and idempotency and stuff -- way beyond my abilities, even though I did my PhD in distributed coding.

Azure Webjobs make all that so easy. And they're free for jobs that run no more than once an hour. What a joy.

Ochowie
Nov 9, 2007

Gul Banana posted:

Yeah, I had a conversation with David Fowler. He stated pretty clearly that they're not going to support languages other than C# in KRuntime projects (actual asp.net sites and new-style class libraries).
This issue got me interested: https://github.com/aspnet/Home/issues/236

@davidfowl confirmed no vb support, and that also if those extensibility points do get created, they won't be used by Microsoft for vb support. However, they do intend to provide some way to reference projects written in VB/C++CLI/etc FROM asp.net projects, certainly if you're targetting the desktop .NET framework and "not yet" otherwise. Right now, referencing VB projects isn't working even for targeting net45, but they will definitely support at least that much.

I haven't used VB since v1 of the .NET framework before I learned C#, but drat that is an incredible departure from the original principles of the .NET framework.

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy
The only thing that I think could make web jobs better is an improved deployment process from Visual Studio. There might be some things you can do with web jobs without having to go through the Azure management website, but inevitably I end up having to zip up a new executable, delete the old web job, then manually add a new one after each web deploy.

Gul Banana
Nov 28, 2003

Ochowie posted:

I haven't used VB since v1 of the .NET framework before I learned C#, but drat that is an incredible departure from the original principles of the .NET framework.

The impression I got from talking to some of the developers was that they're committed to enabling things which were just impossible before - side by side installs, cross-platform support, fine-grained versioning (and therefore first-class package management). In order to do that, they're making sacrifices. In a way, it's the same old Microsoft story - reaching for the markets you *don't* have, because that's where the growth is! Still, I don't think they've made a bad decision overall. The combination of the new runtime and new build systems really open up the possibilities for .NET, and the old stuff will work 'forever' in the same sense that e.g. winforms and webforms are still supported today.

Going single-language in particular... I'm less convinced of the wisdom there. Although personally I'm going to take the chance to jump to the ship I wanted anyway, I think they've been misled by their target audience. When the open source and web development communities talk about this stuff, they think of C# as .NET - the news of VB being dropped hasn't really got out in a big way, but there will be segments for whom it is not news at all. A lot of people just do not even know why VB.NET exists (or even understand how little related it is to VB6). So there's a loop there - the K team are making their own lives a lot easier and the early feedback tells them they're doing 100% fine.

Meanwhile, where .NET is used today is largely enterprise - it's big! Not as big as Java, but still big. And very lucrative. And those people have a *lot* of VB code, or in some cases more esoteric stuff like: financial systems in F#, interop in C++/CLI, scripting whatnots in IronPython. This is a huge audience which is just going to be cut off from the new world - at least, the web development part of the new world. It only makes sense if Microsoft have judged that those legacy desktop and server systems would have to be rewritten rather than ported *anyway*. I'm sure in many cases they'd be right.

Of course, it's all a bit confusing because there's some internal misalignment going on. The compiler people seem to like multiple languages just fine, and VB's supported in Roslyn and in Universal apps...

mastersord
Feb 15, 2001

Gold Card Putty Fan Club
Member Since 2017!
Soiled Meat
In VS2013, Is there a way to tell the immediate window to release system handles after a certain number have been used?

I have some code I am debugging and it triggers a debug.print call every time it calls the database. I use this to tell me what was last called before it crashes. This is a problem if i am doing thousands of calls in rapid succession and it is opening 10-15k handles per second which adds up in 30 minutes of runtime on an 8GB machine.

I am already aware of how bad a practice this is, and am in the process of making it more efficient and cleaning it up. It's legacy code and messy. I am just curious since my googling has turned up nothing.

Ochowie
Nov 9, 2007

Gul Banana posted:

The impression I got from talking to some of the developers was that they're committed to enabling things which were just impossible before - side by side installs, cross-platform support, fine-grained versioning (and therefore first-class package management). In order to do that, they're making sacrifices. In a way, it's the same old Microsoft story - reaching for the markets you *don't* have, because that's where the growth is! Still, I don't think they've made a bad decision overall. The combination of the new runtime and new build systems really open up the possibilities for .NET, and the old stuff will work 'forever' in the same sense that e.g. winforms and webforms are still supported today.

Going single-language in particular... I'm less convinced of the wisdom there. Although personally I'm going to take the chance to jump to the ship I wanted anyway, I think they've been misled by their target audience. When the open source and web development communities talk about this stuff, they think of C# as .NET - the news of VB being dropped hasn't really got out in a big way, but there will be segments for whom it is not news at all. A lot of people just do not even know why VB.NET exists (or even understand how little related it is to VB6). So there's a loop there - the K team are making their own lives a lot easier and the early feedback tells them they're doing 100% fine.

Meanwhile, where .NET is used today is largely enterprise - it's big! Not as big as Java, but still big. And very lucrative. And those people have a *lot* of VB code, or in some cases more esoteric stuff like: financial systems in F#, interop in C++/CLI, scripting whatnots in IronPython. This is a huge audience which is just going to be cut off from the new world - at least, the web development part of the new world. It only makes sense if Microsoft have judged that those legacy desktop and server systems would have to be rewritten rather than ported *anyway*. I'm sure in many cases they'd be right.

Of course, it's all a bit confusing because there's some internal misalignment going on. The compiler people seem to like multiple languages just fine, and VB's supported in Roslyn and in Universal apps...

It seems like Microsoft is trying to reach out to an audience that will never accept it. I'm just not sure how much the open source/web development community is going to embrace these technologies as long as it has Microsoft associated with it. As a C# user (hell, I don't even remember VB.NET syntax well enough to write it right now) I see a lot of benefit to this approach as well, however, as an F# user I am really sad that they're not including it (demonstrating once again its second class status). At the risk of sounding hysterical, how log before .NET core ditches C# for Typescript to continue chasing this community of developers that will never give it the time of day?

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Captain Capacitor posted:

I know this isn't entirely on topic but if anyone has any gross issues with Azure I'm finally in a position to do something about it. Drop me a PM and I'll do my best to help out.

have u fixed the random reboots in the fabric that are unannounced and really weird


also do yall have a release process in place so one dude cant gently caress up multiple regions


it woild have been nice to have proper diagnostics for tables


did they fix the issue where RDFE has a dirty word filter preventing previously existing names from being recreated

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Captain Capacitor posted:

I know this isn't entirely on topic but if anyone has any gross issues with Azure I'm finally in a position to do something about it. Drop me a PM and I'll do my best to help out.

Also why is cerebrata's dogshit management studio eons better than any of the portals

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

ljw1004 posted:

Just to say, I only learnt about "Azure Webjobs" last week, and I'm OVERJOYED!!!

Seriously, my number one complaint about azure used to be worker roles. They took ten minutes to deploy. It was hard to get logging out of them. And trying to write something like an algorithm for "guarantee execution at least once a day" required distributed mutexes and idempotency and stuff -- way beyond my abilities, even though I did my PhD in distributed coding.

Azure Webjobs make all that so easy. And they're free for jobs that run no more than once an hour. What a joy.

we used blobs as a ghetto distributed lock and then orleans b/c winfab is still not ready for prime time, or something

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Captain Capacitor posted:

I know this isn't entirely on topic but if anyone has any gross issues with Azure I'm finally in a position to do something about it. Drop me a PM and I'll do my best to help out.

why is there a hard limit on storage accounts per subscription

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Gul Banana posted:

Yeah, I had a conversation with David Fowler. He stated pretty clearly that they're not going to support languages other than C# in KRuntime projects (actual asp.net sites and new-style class libraries).
This issue got me interested: https://github.com/aspnet/Home/issues/236

The fact that the guy who answered is the Principal Program Manager Lead on the ASP.NET team and has the handle "coolcsh" is pretty telling of his personal bias :arghfist:

In any case, we're looking at those sexy, sexy DevExpress controls and those may tie us to MVC 5 for at least the short-medium term anyway, since they haven't said a word about vNext support.

silentpenguins
May 9, 2013

Abysswalking
Can someone here explain the intricacies that would be involved in a custom user control inheriting another custom user control? It seems than when this happens I can't see the controls on the ascx's (div's, labels, etc) for either of them, but if I'm referencing just the base custom user control I can see them just fine. VB.net 4.5 for reference.

Captain Capacitor
Jan 21, 2008

The code you say?

Malcolm XML posted:

have u fixed the random reboots in the fabric that are unannounced and really weird

This is what a good chunk of my team is working on right now.

Malcolm XML posted:

also do yall have a release process in place so one dude cant gently caress up multiple regions

The whip has been cracked from on high on this one.

Malcolm XML posted:

it woild have been nice to have proper diagnostics for tables


did they fix the issue where RDFE has a dirty word filter preventing previously existing names from being recreated

These two I'm not sure about, but I'll ask around.

JawnV6
Jul 4, 2004

So hot ...
I have an application deployed that uses HttpWebRequest to send a request to a sever. They're seeing an unexpected error, "Method not found: 'System.Net.HttpWebRequest". It appears to be in every .net version from 1.0 to 4.5. All of the error pages google brings up are dealing with some old Mono version missing this. How does an installation miss out on a chunk like this?

The entire code using this class:
code:
HttpWebRequest hwr = WebRequest.CreateHttp(url);
HttpWebResponse response;
try
{
            response = (HttpWebResponse)hwr.GetResponse();
            Stream receiveStream = response.GetResponseStream();
Not really sure what to do. I need to hit a particular URL with a user-supplied string, check the response and display a Pass/Fail. Is there another method to doing this that's more available?

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Captain Capacitor posted:

This is what a good chunk of my team is working on right now.


The whip has been cracked from on high on this one.


These two I'm not sure about, but I'll ask around.

cool i Pm'd u with more details on stuff since my old team either broke azure or was broken by azure on like a weekly basis

Adbot
ADBOT LOVES YOU

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

JawnV6 posted:

I have an application deployed that uses HttpWebRequest to send a request to a sever. They're seeing an unexpected error, "Method not found: 'System.Net.HttpWebRequest". It appears to be in every .net version from 1.0 to 4.5. All of the error pages google brings up are dealing with some old Mono version missing this. How does an installation miss out on a chunk like this?

The entire code using this class:
code:
HttpWebRequest hwr = WebRequest.CreateHttp(url);
HttpWebResponse response;
try
{
            response = (HttpWebResponse)hwr.GetResponse();
            Stream receiveStream = response.GetResponseStream();
Not really sure what to do. I need to hit a particular URL with a user-supplied string, check the response and display a Pass/Fail. Is there another method to doing this that's more available?

install http client libraries from nuget and use those https://www.nuget.org/packages/Microsoft.Net.Http

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply