Monday, November 30, 2015

Your Are Not Authorized to access visualstudio.com


I can't login to Team Foundation Server from within Visual Studio, I get the following error:

"Your Are Not Authorized to access visualstudio.com"

Invalid Configuration Files for locally hosted applications

After moving to a new PC and re-hosting my applications in local IIS, I was getting errors that the configuration file was invalid or couldn't be read.  

Wednesday, September 2, 2015

Error occurred during a cryptographic operation. System.Security.Cryptography.CryptographicException: Error occurred during a cryptographic operation.

I build a web application that worked in Dev and QA, but then demonstrated some unpredictable behavior in production, where it was load balanced between 2 servers.  The error log reported the following error:

Error occurred during a cryptographic operation.
System.Security.Cryptography.CryptographicException: Error occurred during a cryptographic operation.
   at System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func, Byte[] input)

This has to do with the Machine Key, which is used for decrypting and encrypting resources.  By default, the machine key is auto-generated by IIS.  The default works fine if your application is only running on one server.  But if the application is hosted across multiple servers, the application needs to be configured to use the same Machine Key across all servers.

I found a bunch of posts about this error.  I then populated a web.config section for my application that looked like this:

    <machineKey 
        decryptionKey="ABCDEFGH....." 
        validationKey="ABCDEFGHIJKLMNOPQRSTUVWXY....." 
        validation="SHA1"
        decryption="Auto"
    />

This key belongs in the <system.web> section.

I generated the keys using IIS:
http://docs.orchardproject.net/Documentation/Setting-up-a-machine-key

Here is the post related to this issue:
http://stackoverflow.com/questions/3855666/adding-machinekey-to-web-config-on-web-farm-sites

Friday, June 19, 2015

Github error through proxy: Failed connect to github.com:443

I was trying to clone a Github repository from behind a proxy.  I kept getting connection errors,

fatal: unable to access 'https://github.com/Netflix/ice.git/': Failed connect to
 github.com:443; No error

This is how I fixed it.

Tuesday, April 7, 2015

405 Method Not Allowed in my Web API

Today I went back to an existing project that I spend my time on and I started getting errors when doing PUTs to my Web API.  The errors didn't happen before, but I've now pulled down the latest code so something's changed.

Wednesday, April 1, 2015

SQL Server Alias

Our team of several developers is building an application connects to SQL Server.  Well all have local instances of SQL Server, but the connection strings vary from developer to developer.  Rather than having each developer use a different connection string, we figured we'd configure SQL Server Aliases on each of our PC's so that we could all use the same connection string.

This approach worked well.  It took a little fiddling to get my local alias working, so I figured I document the steps here.

Friday, March 20, 2015

SQL-89 versus SQL-90 JOIN Syntax - What's the Difference???

What's the advantage of using the "JOIN" syntax when joining SQL tables???

I work in a mixed environment where we use both SQL Servers and Sybase Servers.

All of the SQL Server developers write their joins using the SQL-92 syntax like this:

    SELECT c.name, a.state FROM 
        Customers c JOIN Address a ON c.CustomerId = a.CustomerId

But all of the Sybase developers continue to write their joins using the SQL-89 syntax like this:

    SELECT c.name, a.state FROM Customers c, Address a
        WHERE c.CustomerId = a.CustomerId

I don't see much difference on these smaller queries, but I always get frustrated trying to read the SQL-89 syntax on larger queries.  What's the difference and why do developers still use SQL-89 syntax???