Unity works on my PC but not on the Server. What did I miss?

Posted by Erik France on Geeks with Blogs See other posts from Geeks with Blogs or by Erik France
Published on Mon, 06 Dec 2010 18:56:57 GMT Indexed on 2010/12/08 5:40 UTC
Read the original article Hit count: 288

Filed under:

I have a web service using Microsoft Unity to hook the pieces together.  It all works fine on my PC but when I put it on the web server, I receive this error message:

System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The value of the property 'type' cannot be parsed. The error is: Method 'GetClaimsForUser' in type 'WebService.Implementation.ClaimsRetriever' from assembly 'WebService.Implementation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=62cac0f1a908971a' does not have an implementation.

If I look at the web.config, I see the following:

<unity>
    <typeAliases>
      <typeAlias alias="ITokenGenerator" type="WebService.Interfaces.ITokenGenerator, WebService.Interfaces" />
      <typeAlias alias="TokenGenerator" type="WebService.Implementation.TokenGenerator, WebService.Implementation" />
      <typeAlias alias="IClaimsRetriever" type="WebService.Interfaces.IClaimsRetriever, WebService.Interfaces" />
      <typeAlias alias="ClaimsRetriever" type="WebService.Implementation.ClaimsRetriever, WebService.Implementation" />
      <typeAlias alias="TokenGeneratorSettings" type="WebService.Implementation.TokenGeneratorSettings, WebService.Implementation" />
      <typeAlias alias="String" type="System.String, mscorlib" />
    </typeAliases>
    <containers>
      <container>
        <types>
          <type type="ITokenGenerator" mapTo="TokenGenerator">
            <typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration">
              <constructor>
                <param name="retriever" parameterType="IClaimsRetriever">
                  <dependency />
                </param>
                <param name="settings" parameterType="TokenGeneratorSettings">
                  <dependency />
                </param>
              </constructor>
            </typeConfig>
          </type>
          <type type="IClaimsRetriever" mapTo="ClaimsRetriever">
            <typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration">
              <constructor>
                <param name="connectionStringName" parameterType="String">
                  <value value="devDatabase" type="String" />
                </param>
              </constructor>
            </typeConfig>
          </type>
        </types>
      </container>
    </containers>
  </unity>

I have another web service, using an almost identical config running on the web server.  But this new web service will not run.

Any ideas on what I have not told Unity to do?  Or maybe what I told Unity to do incorrectly?

© Geeks with Blogs or respective owner