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
evilfunkyogi
Jun 27, 2005
:effort:

The Wizard of Poz posted:

I'm struggling a little with CSS bundling and I hope someone might have an answer for me. I want to use CSS bunding but the resulting CSS path output in the HTML is giving me a 403. From a quick Google it turns out that this can occur when you have named your bundle after an actual path that exists. No problem, I figure I'll just change the bundle name. But doing this breaks all the relative URLs in the CSS. So back to Google. Okay, apparently I can use an override of the Include method to specify a Transform for each Include, one of which will transform the URLs to absolute paths: CssRewriteUrlTransform(). So this kind of works, it definitely rewrites all the URLs, but it doesn't include the application/virtual folder in the URL. So where http://localhost:1234/ApplicationName/ is my actual application URL, the transform will change the URLs so that any relative URL mapping to the Content folder gets rewritten to http://localhost:1234/Content which is clearly not the correct transformation.

How can I simply get my files bundled without and have the relative URLs rewritten correctly - this must be an incredibly common requirement, I'm stunned it's not a simpler process.

I've ran into the virtual path issue before, there's an open bug for it.

There's a work-around posted in the comments (wrapping CssRewriteUrlTransform() in an IItemTransform that uses VirtualPathUtility.ToAbsolute()).

Adbot
ADBOT LOVES YOU

Essential
Aug 14, 2003
I'm laptop shopping and hoping no one minds me asking a few questions here. I'll be using this strictly for Visual Studio, SQL Mgmt Studio and a few other business apps (FileZilla, Notepad++, etc).

I'm not sure what size screen to get. Do any of you work on a 15" screen and feel it is sufficient? Or is 17" the way to go? What about graphics cards, do I need to get a dedicated one or is the built in one ok?

Right now all my development is done on pretty high end pc's so everything works super fast. I have dual 22" monitors were I can do all the UI work on. I'd prefer a smaller laptop just for ease of traveling.

I'm looking at Dell because I'm not sure what else I would buy.

zerofunk
Apr 24, 2004

Essential posted:

I'm not sure what size screen to get. Do any of you work on a 15" screen and feel it is sufficient? Or is 17" the way to go? What about graphics cards, do I need to get a dedicated one or is the built in one ok?

I have a Dell Precision with a 15" screen as my primary work machine. Used to have dual 20" monitors. I don't mind the loss of screen real estate too much, but I do have the upgraded 1920x1080 screen. I forget what my old monitors were...maybe 1680x1050? That helps a lot although it does make everything really small on a 15" screen. Doesn't bother me, but I know other people wouldn't like it. In my opinion a 17" is just way too big. I hate carrying around this thing when I have to (not very often thankfully). I can't imagine it being bigger.

As far as performance goes, I've been happy with it. It's about 3 years old now though, so it is starting to show its age a bit when it comes to VS2012 w/ ReSharper. Just make sure you have a SSD, regular old laptop hard drives suck. Although I imagine that's more standard these days.

crashdome
Jun 28, 2011
I develop entirely on a Surface Pro 2 (1920x1080 10.6" screen). I have a separate 21" monitor on a workbench which helps a little when I'm debugging but, I get by.

I love it because application development is a secondary task for me and I can work on things when I'm on the bus or in-between other things at a café or whatever.

It's a whole different world from having dual monitors and a really fast PC to develop on but, if you are going to be dragging around a mobile 17" laptop because you want screen real estate you might want to consider where you are going to prop that sucker up. You'll need to constantly plug it in, have room for a mouse, etc..

Prior to the Surface, I developed on a 13.3" Fujitsu convertible. That thing was a beast compared to newer tablets/Surface Pros and being a mobile user, I never want to buy another full size laptop ever again. I can deal with not having dual screens if it means I'm not humping a gigantic rucksack full of gear everywhere.

edit: Seconding that you need an SSD no matter what. Especially if you are bouncing between other applications during development

edit2: Those Surface Pro 3s are pretty effing light. You should buy one and make me super jealous

edit3 - last one I promise: So I just found out I can use my crappy 7" android tablet as a possible second screen using iDisplay and a hidden ad-hoc WiFi signal. Lol, I'm going to buy every cheap tablet on craigslist I can find to make some weird fold out portable Franken-display.

crashdome fucked around with this message at 18:57 on Dec 8, 2014

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
Just get something with a middle of the road CPU, 8-16 GB of RAM, and an SSD. The RAM and SSD are going to be the biggest considerations when it comes with Visual Studio's performance.

Of course, when I'm working on my laptop, it's via RDP from my desktop so I can use my 27 and 24 inch monitors.

Mr Shiny Pants
Nov 12, 2012
I have a Surface Pro 2 at work. The 8GB 256 version. While it's fast, it does not feel as fast as the specs would lead you to believe.

My workstation at home is much faster even though the processor is older. Granted it's a Mac Pro 5.1 Hex core running 8.1 but the Surface pro 2 has a I5 and also an SSD.

It is very portable though, much better than the laptop I was lugging around before.

Essential
Aug 14, 2003
Thanks everyone for the help and suggestions!

Seems consensus is the SSD is a must. I'd like to get the smallest laptop possible, while still being productive. I'm going to Best Buy after work to play around with different laptop sizes. I'd like to see how small < 15" really is. It would be nice to have a really portable laptop.

The Surface Pro 3 is very tempting, but it's quite a bit more expensive than a laptop with the same specs.

Chill Callahan
Nov 14, 2012
I got a nice Dell E6430 (business-level, dont gently caress with consumer-level Dell) refurbished off of eBay for ~$600. Quad core Ivy Bridge i7, 1600x900 14" screen, 8GB ram, 128GB SSD. Good enough for dev work with a second monitor. Still has 3 years of next-day onsite accidental coverage on its warranty, too.

bobua
Mar 23, 2003
I'd trade it all for just a little more.

I don't know the right terms for a lot of this, so bear with me as I try to describe what I'm talking about...

Let's say I'm working with an existing sql db and stored procedures. I've created an 'entity'(edmx file?) and function imports to use the stored procedures. So let's say a stored procedure like spGetClientInfo returns an object called spGetClientInfo_Result that was auto generated for me, but I want to be able to clone\copy an spGetClientInfo_Result. Do I have to go into the auto generated class and write my own copy method or is there a smarter way?

Also, if I have 2 stored procedures that actual return identical underlying datatypes, is there a way to tell c# that they are actually identical? spGetClientInfo and spGetCurrentClientInfo return a string and an integer, but the autogenerated classes are seperate(spGetClientinfo_result and spGetCurrentClientInfo_result).

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

Bognar posted:

Can you not just find/replace in *.css?

Is this a joke? Do you seriously do your work like this?

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

evilfunkyogi posted:

I've ran into the virtual path issue before, there's an open bug for it.

There's a work-around posted in the comments (wrapping CssRewriteUrlTransform() in an IItemTransform that uses VirtualPathUtility.ToAbsolute()).

I've just tried this and I'm still encountering issues. The minification process works fine when I run it using debug mode (i.e. when it's running on the domain root) but as soon as I run the published version which is under an application path, I get a bundled CSS file littered with the following errors, and minification doesn't occur at all:

code:
/* Minification failed. Returning unminified contents.
(7182,69): run-time error CSS1062: Expected semicolon or closing curly-brace, found '.'
(7183,69): run-time error CSS1062: Expected semicolon or closing curly-brace, found '.'
(8847,91): run-time error CSS1062: Expected semicolon or closing curly-brace, found '.'
(9090,72): run-time error CSS1062: Expected semicolon or closing curly-brace, found '.'
(9091,84): run-time error CSS1019: Unexpected token, found '.'
(9091,84): run-time error CSS1042: Expected function, found '.'
(9091,84): run-time error CSS1062: Expected semicolon or closing curly-brace, found '.'
 */

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION
I gave up on letting .NET do minification (it seems like every time I rely on .NET for anything it fucks it up...) and just minified the assets manually.

I now have a different issue where Font Awesome icons are not showing, but only when deployed. The problem is that the font files are not even being requested. I can't fathom how this is possible - I can see this clearly in the minified/bundled CSS:

code:
    @font-face {
        font-family: 'FontAwesome';
        src: url(/APPLICATION_NAME/Content/fonts/fontawesome-webfont.eot?v=4.2.0);
        src: url(/APPLICATION_NAME/Content/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0)
        	format('embedded-opentype'), url(/APPLICATION_NAME/Content/fonts/fontawesome-webfont.woff?v=4.2.0)
                format('woff'), url(/APPLICATION_NAME/Content/fonts/fontawesome-webfont.ttf?v=4.2.0)
                format('truetype'), url(/APPLICATION_NAME/Content/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular)
                format('svg');
        font-weight: normal;
        font-style: normal;
    }
    
    .fa {
        display: inline-block;
        font: normal normal normal 14px/1 FontAwesome;
        font-size: inherit;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
The URLs of the font files listed there do load correctly if I enter them manually, but really that's irrelevant because the issue is that I'm not seeing a request for the font file at all. As mentioned though, the requests work perfectly fine in debugging.

I can't fathom how something like this is such a hassle - what on earth can I possibly be doing wrong here?

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy

The Wizard of Poz posted:

Is this a joke? Do you seriously do your work like this?

No it's not a joke, and maybe I'm misunderstanding your problem but it seems like it would fix the issue. And yes, I would do that if it saved me however many hours of Google and posting on forums for the answer. I'm curious, though, what do you think is so wrong about doing that?

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

Bognar posted:

No it's not a joke, and maybe I'm misunderstanding your problem but it seems like it would fix the issue. And yes, I would do that if it saved me however many hours of Google and posting on forums for the answer. I'm curious, though, what do you think is so wrong about doing that?

Just to make sure I haven't misunderstood, you're suggesting that I manually open the CSS file and use a text editor to find/replace the relative URLs with absolute URLs?

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

evilfunkyogi posted:

I've ran into the virtual path issue before, there's an open bug for it.

There's a work-around posted in the comments (wrapping CssRewriteUrlTransform() in an IItemTransform that uses VirtualPathUtility.ToAbsolute()).

Haha and now this solution which worked fine earlier, is no longer working. Fantastic. gently caress this gay earth.

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy

The Wizard of Poz posted:

Just to make sure I haven't misunderstood, you're suggesting that I manually open the CSS file and use a text editor to find/replace the relative URLs with absolute URLs?

Oh, heh, definitely not. The way I read it, you had relative URLs in your CSS that pointed to other bundles and that changing the bundle names caused your relative URLs to point to the wrong place. My suggestion was then to just find/replace to point to the new name with a new relative URL. After re-reading your original post, I see that's not the problem.

Quebec Bagnet
Apr 28, 2009

mess with the honk
you get the bonk
Lipstick Apathy

Wardende posted:

Perhaps you need an, uh, IAuditIdentifierProvider and three implementations (one which retrieves the IP address from System.Web, one which gets the client IP, and one which provides "local"), and add that as a dependency to the ButtModule instead of a string. Then you can register the correct implementation in each App_Start.

Yeah, this ended up being a lot simpler than screwing around with registering delayed values or whatever. Thanks, I'm still new to the idea of structuring an application properly for DI.

PhonyMcRingRing
Jun 6, 2002
Has anyone else experienced the "Add View" dialog completely lock up Visual Studio 2013 for 60 seconds or so? We just upgraded all of our projects at work to .NET 4.5.1 and MVC5, was not an issue before that. Can't find any answers regarding this on google :(

Edit: I'm on VS2013 Update 4, another coworker with the same issue is on Update 3.

Ochowie
Nov 9, 2007

crashdome posted:

I develop entirely on a Surface Pro 2 (1920x1080 10.6" screen). I have a separate 21" monitor on a workbench which helps a little when I'm debugging but, I get by.

I love it because application development is a secondary task for me and I can work on things when I'm on the bus or in-between other things at a café or whatever.

It's a whole different world from having dual monitors and a really fast PC to develop on but, if you are going to be dragging around a mobile 17" laptop because you want screen real estate you might want to consider where you are going to prop that sucker up. You'll need to constantly plug it in, have room for a mouse, etc..

Prior to the Surface, I developed on a 13.3" Fujitsu convertible. That thing was a beast compared to newer tablets/Surface Pros and being a mobile user, I never want to buy another full size laptop ever again. I can deal with not having dual screens if it means I'm not humping a gigantic rucksack full of gear everywhere.

edit: Seconding that you need an SSD no matter what. Especially if you are bouncing between other applications during development

edit2: Those Surface Pro 3s are pretty effing light. You should buy one and make me super jealous

edit3 - last one I promise: So I just found out I can use my crappy 7" android tablet as a possible second screen using iDisplay and a hidden ad-hoc WiFi signal. Lol, I'm going to buy every cheap tablet on craigslist I can find to make some weird fold out portable Franken-display.

I've really been trying to get my work to give me a Surface Pro 3 instead of our lovely HP laptops. I already have daisy-chained display port monitors so I could use the dock that they sell as an accessory. I really want it for the active digitizer. I can't believe Apple hasn't given in on that for the iPad.

crashdome
Jun 28, 2011
I'm pretty sure its because the usefulness would be limited. It's not like you can run full Photoshop on the iPad. Even on the surface it's not my go to input device. It's pretty rad to bust out the stylus and collapse the keyboard once in awhile though.

Ochowie
Nov 9, 2007

crashdome posted:

I'm pretty sure its because the usefulness would be limited. It's not like you can run full Photoshop on the iPad. Even on the surface it's not my go to input device. It's pretty rad to bust out the stylus and collapse the keyboard once in awhile though.

Not to go on too much of a derail of the thread but I just want to take notes on the iPad. There are such great note taking apps but all the stylii suck with writing with your finger being the only thing worse. The reason they haven't done it is because Steve Jobs hated stylus based navigation, but I don't think anyone is asking for that.

Chasiubao
Apr 2, 2010


I took a job that has me writing Java instead of C# for services. This thread is like the happy place I go to get away from the awfulness :sigh:

I really want to get a Surface Pro 3 for personal projects but I can't justify the price tag right now.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Essential posted:

I'm laptop shopping and hoping no one minds me asking a few questions here. I'll be using this strictly for Visual Studio, SQL Mgmt Studio and a few other business apps (FileZilla, Notepad++, etc).

I'm not sure what size screen to get. Do any of you work on a 15" screen and feel it is sufficient? Or is 17" the way to go? What about graphics cards, do I need to get a dedicated one or is the built in one ok?

Right now all my development is done on pretty high end pc's so everything works super fast. I have dual 22" monitors were I can do all the UI work on. I'd prefer a smaller laptop just for ease of traveling.

I'm looking at Dell because I'm not sure what else I would buy.

Get a docking station and buy a 15 or even 13 inch monitor. And definitely go for an ultrabook or whatever ultraslim thing. Carrying around 17-inch laptops sucks rear end.

crashdome
Jun 28, 2011

RICHUNCLEPENNYBAGS posted:

buy a 15 or even 13 inch monitor.

Is that even possible?

Ochowie posted:

Not to go on too much of a derail of the thread but I just want to take notes on the iPad. There are such great note taking apps but all the stylii suck with writing with your finger being the only thing worse. The reason they haven't done it is because Steve Jobs hated stylus based navigation, but I don't think anyone is asking for that.

I think OneNote is awesome. I can pull them up on any tablet/phone OS too. I use it extensively with the Surface and the handwriting recognition is mostly dead on even with chicken scratch penmanship.


To keep everything on track... Blend or working with any of the designers is a huge pain in the rear end on small screens and there's no getting around it. My ideal development environment would be something like a side-ways fold out (Nintendo DS style) setup with dual screens (side-by-side) so I can keep the code on one screen and properties/solution explorer/etc on the second screen with a small flat Bluetooth keyboard that is detachable.

crashdome fucked around with this message at 05:15 on Dec 10, 2014

RICHUNCLEPENNYBAGS
Dec 21, 2010
Read it as "laptop with a 15- or even 13-inch screen."

bpower
Feb 19, 2011
Im building a mvc .net site that will hold sensitive information. Is the latest User Identity stuff you get out of the box good enough as it is?

Che Delilas
Nov 23, 2009
FREE TIBET WEED

bpower posted:

Im building a mvc .net site that will hold sensitive information. Is the latest User Identity stuff you get out of the box good enough as it is?

http://stackoverflow.com/questions/20621950/asp-net-identity-default-password-hasher-how-does-it-work-and-is-it-secure
http://msdn.microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes%28v=vs.110%29.aspx

There's some reading material for you on how it handles passwords. You or someone in your organization will be better equipped to analyze that against your specific requirements than I am.

wwb
Aug 17, 2004

You can definitely start coding towards the interface at least -- that is pretty well factored. For what goes on behind it I too would look at the auditor's requirements.

CapnAndy
Feb 27, 2004

Some teeth long for ripping, gleaming wet from black dog gums. So you keep your eyes closed at the end. You don't want to see such a mouth up close. before the bite, before its oblivion in the goring of your soft parts, the speckled lips will curl back in a whinny of excitement. You just know it.
Anyone have any experience with using PushSharp to send push notifications? I switched to that from JdSoft because JdSoft stopped working entirely, hadn't been updated in forever, and was only for iOS devices anyway.

So anyway I switched to PushSharp, and set it up, and my test messages to my phone worked, but I've hit a problem. When I try to send notifications to multiple phones at once, the whole thing gets incredibly unreliable -- whether or not the notifications go out at all seems basically random, and more get dropped than get through. I'm doing this:
code:
AppleNotification notification;
foreach (device dev in devices.Where(x => x.send_notifications == 1).ToList())
{
	try
	{
		notification = new AppleNotification()
				   .ForDeviceToken(dev.device_key)
				   .WithAlert("Hello World!")
				   .WithBadge(0)
				   .WithSound("sound.caf");
		push.QueueNotification(notification);
	}
	catch { }
}
That try/catch there is me thinking "well, maybe one of the device keys are bad or something and if I isolate it, the rest will go out?", but that didn't work. I'm using the same AppleNotification over and over again because I saw some object disposed exceptions and thought maybe the loop didn't like me doing QueueNotification(new AppleNotification etc. etc.) again and again, but again, still unreliable.

Because it might matter: push is a PushBroker that I instantiated and did RegisterAppleServices on Form_Load, the push notifications get sent by a function call. Maybe that's the problem? Creating a new PushBroker for each notification doesn't sound right, but who knows.

The google results I've found have mostly been about generating the certificate or something. This looks really close, but I'm not sending GcmNotifications and can't find an AddRange thing in AppleNotifications.

edit: This works:
code:
AppleNotification notification;
foreach (device dev in devices.Where(x => x.send_notifications == 1).ToList())
{
	try
	{
		push = new PushBroker();
		push.RegisterAppleService(new ApplePushChannelSettings(false, appleCert, "123456")); 

		notification = new AppleNotification()
				   .ForDeviceToken(dev.device_key)
				   .WithAlert("Hello World!")
				   .WithBadge(0)
				   .WithSound("sound.caf");
		push.QueueNotification(notification);
	}
	catch { }
}
That can't seriously be the right way to do it, though, can it?

Also yes the password to my push certificate is 123456, please don't tell any hackers.

CapnAndy fucked around with this message at 23:41 on Dec 10, 2014

RICHUNCLEPENNYBAGS
Dec 21, 2010

Che Delilas posted:

http://stackoverflow.com/questions/20621950/asp-net-identity-default-password-hasher-how-does-it-work-and-is-it-secure
http://msdn.microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes%28v=vs.110%29.aspx

There's some reading material for you on how it handles passwords. You or someone in your organization will be better equipped to analyze that against your specific requirements than I am.

What's weird about ASP.NET Identity is how much stuff (like password reset functionality or e-mail confirmation) just was not supported at all out-of-the-box in V1. I think this stuff is all handled in V2 but by the time that had come out we'd already written a ton of code against our own implementations of that functionality so it wasn't really worth switch.

Mr Shiny Pants
Nov 12, 2012
When I was researching the identity stuff, this always came highly recommended:

http://brockallen.com/projects/

Mr Shiny Pants
Nov 12, 2012
Is the IIS Web Deploy from VS loving retarded or what?

I've been working two days to get this working, why do so many thing MS does feel over-engineered.

Why not just use something like SSH and SFTP it to the host? :(

RICHUNCLEPENNYBAGS
Dec 21, 2010

Mr Shiny Pants posted:

Is the IIS Web Deploy from VS loving retarded or what?

I've been working two days to get this working, why do so many thing MS does feel over-engineered.

Why not just use something like SSH and SFTP it to the host? :(

That's basically what it does behind the scenes (or one of the options anyway) so you cuold do that if you want.

Mr Shiny Pants
Nov 12, 2012

RICHUNCLEPENNYBAGS posted:

That's basically what it does behind the scenes (or one of the options anyway) so you cuold do that if you want.

Package deploy does something like this I guess. It packages the site as a ZIP and uploads it.

Finicky stuff.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
It's because (IMO) the IDE-based deployment stuff is targeted at solo developers who just push software to an arbitrary environment on an arbitrary schedule with no formal build/CI process, not actual businesses. There are some more enterprisey offerings for release management these days, but they're not a great fit for solo developers.

Hopefully Microsoft is working on getting the two to meet in the middle.

Dromio
Oct 16, 2002
Sleeper
We’ve been using Octopus Deploy lately. It’s pretty decent but does require some work on your end first. You have to build your project as a NuGet package, which Octopus can then read and deploy to various machines. It’s got built in support for IIS sites, so it can set up the URL bindings and everything you need. It also does config variable substitution, so you can d things like it replace your TimeToWaitBeforeSending sppSetting to be 5 minutes in QA, but 5 days in production. We’re running about 7 projects across 6 environments with a total of ~30 machines and it makes things much easier.

The biggest downside I see is that it stores all the deployment stuff in it’s own data store instead of tying it to the source code. I’d rather be able to include deployment configuration changes in the source repository alongside the code changes that it supports, so if a new version of the app requires a new deployment step then the deployment step only lives in that branch in source control. We’ve had an issue where we changed our deployment to support testing an upcoming release in development and QA, but then had to re-deploy the older Production build and couldn’t without a good deal of work.

Still, it’s a good bit simpler than my old way of writing a bunch of shell scripts to SSH to machines, unzip, run remote powershell, etc.

Forgall
Oct 16, 2012

by Azathoth
Ok, so it seems like really dumb/trivial question, but for some reason I can't find explicit answer. Is it safe or not to use objects that don't have Equals and GetHashCode overridden as hashtable keys when my goal is to use object's identity as key? As in, I don't want two objects with all same values in all fields to be considered same key. My impression is that hash code in default implementation is derived from object's memory address, which can be changed by garbage collector. Does it mean that hash code can change too?

wwb
Aug 17, 2004

Mr Shiny Pants posted:

Why not just use something like SSH and SFTP it to the host? :(

If you are deploying applications this way you are probably retarded. Use a build server.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Dromio posted:

We’ve been using Octopus Deploy lately. It’s pretty decent but does require some work on your end first. You have to build your project as a NuGet package, which Octopus can then read and deploy to various machines. It’s got built in support for IIS sites, so it can set up the URL bindings and everything you need. It also does config variable substitution, so you can d things like it replace your TimeToWaitBeforeSending sppSetting to be 5 minutes in QA, but 5 days in production. We’re running about 7 projects across 6 environments with a total of ~30 machines and it makes things much easier.

The biggest downside I see is that it stores all the deployment stuff in it’s own data store instead of tying it to the source code. I’d rather be able to include deployment configuration changes in the source repository alongside the code changes that it supports, so if a new version of the app requires a new deployment step then the deployment step only lives in that branch in source control. We’ve had an issue where we changed our deployment to support testing an upcoming release in development and QA, but then had to re-deploy the older Production build and couldn’t without a good deal of work.

Still, it’s a good bit simpler than my old way of writing a bunch of shell scripts to SSH to machines, unzip, run remote powershell, etc.

Yeah, and Microsoft has Release Management, which operates similar to Octopus. The direction it's headed is to use DSC for environment configuration -- source control a DSC script that says "my web server should have IIS installed, be running a website called Foo with an app pool called Bar, with the files in C:\inetpub\mywebsite\ synched up with what's in my build drop for build #1234", RM invokes it, and your environment is magically configured and running the latest version of your code. It also helps enforce release paths (dev->QA->staging->prod, no skipping!) with built-in approval gates... no jumping from dev to production without getting a QA sign-off.

It's pretty slick, but it requires some legwork to get up and running well, and the DSC ecosystem is weak right now. That's going to change soon, though.

Adbot
ADBOT LOVES YOU

raminasi
Jan 25, 2005

a last drink with no ice

Forgall posted:

Ok, so it seems like really dumb/trivial question, but for some reason I can't find explicit answer. Is it safe or not to use objects that don't have Equals and GetHashCode overridden as hashtable keys when my goal is to use object's identity as key? As in, I don't want two objects with all same values in all fields to be considered same key. My impression is that hash code in default implementation is derived from object's memory address, which can be changed by garbage collector. Does it mean that hash code can change too?

I had the same question, once.

Object.GetHashCode posted:

If GetHashCode is not overridden, hash codes for reference types are computed by calling the Object.GetHashCode method of the base class, which computes a hash code based on an object's reference; for more information, see RuntimeHelpers.GetHashCode.

It's fine. Everyone else does it, so you won't be any more hosed than the rest of us if there's a problem.

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