Chuck Conway

Chuck Conway

Building Inspiring Software

Menu
  • Home
  • Projects
  • Notes
  • About
Menu

Category: Code

Creating a Generic Type at Runtime

Posted on May 22, 2012 by Chuck Conway

I have a type (at runtime), I want to use it with an IOC container (in this case StructureMap) to find a generic implementation using this type. How do I do that? It’s simpler than you’d think: Type genericType = typeof (AbstractValidator); Type type = genericType.MakeGenericType(bindingContext.ModelType); //Structure Map container var instance = _container.GetInstance(type);

Read more

Deploying with MsDeploy Outside of Visual Studio

Posted on May 10, 2012 by Chuck Conway

Building the msdeploy package with MSBuild. This requires MsDeploy to be installed on the build machine. MSBUILD /T:Package /P:Configuration=QA;PackageLocation=”C:\Build\Artifacts\eserve\DEV\QA\QA.zip” Deploying the package with MsDeploy to a web site How to get the msdeploy command. -source:package=’C:BuildArtifactseserveDEVQAQA.zip’ -dest:auto,ComputerName=’https://eserve-dev.sacda.org:8172/MsDeploy.axd?site=eserve-dev’,UserName=’conwayc’,Password=’austin_1′,IncludeAcls=’False’,AuthType=’Basic’ -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -allowUntrusted -retryAttempts=2 Copying the package with ROBOCOPY Copying the package to another folder with robocopy…

Read more

Code Refactor

Posted on October 22, 2010 by Chuck Conway

On a recent project, I was tasked with refactoring large parts of a web system. It’s written in C#. Over time some of the code-behind files had grown to 4000 lines. The goal was to get this number down to a more maintainable level. Over the next few posts, I’ve taken snippets of code that…

Read more

Weighted Random Distribution

Posted on October 6, 2010 by Chuck Conway

This is genius; I could have used this a couple of years ago. I’m posting it here for safe keeping. Note that I am NOT using the random class. The random class is not truly random. It’s based on time. Time is predictable. RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); byte[] result = new byte[8]; rng.GetBytes(result); double…

Read more
  • Previous
  • 1
  • …
  • 6
  • 7
  • 8
  • 9

    Archives

    • March 2022
    • November 2021
    • October 2021
    • May 2021
    • April 2021
    • March 2021
    • December 2020
    • November 2020
    • October 2020
    • September 2020
    • August 2020
    • July 2020
    • November 2019
    • October 2019
    • September 2019
    • August 2019
    • July 2019
    • June 2019
    • June 2018
    • October 2017
    • December 2015
    • November 2015
    • August 2015
    • May 2015
    • April 2015
    • March 2015
    • February 2015
    • January 2015
    • November 2014
    • October 2014
    • March 2014
    • February 2014
    • December 2013
    • March 2013
    • October 2012
    • August 2012
    • May 2012
    • January 2012
    • December 2011
    • June 2011
    • May 2011
    • December 2010
    • November 2010
    • October 2010

    Categories

    • Architecture
    • Article
    • Code
    • Conceptual
    • Design
    • General
    • Influence
    • Notes
    • Process
    • Satire
    ©2023 Chuck Conway