Exemple #1
0
        /// <summary>
        /// Method that loads the asembly specified from all the assemblies referenced by website, and extracts the given resource string
        /// </summary>
        string IWebResourceReader.ReadString(string assemblyName, string resourceName, string resourceKey)
        {
            ICollection <string> assemblies;

            assemblies = _webApplication.GetReferencedAssemblyFullNames();

            string fullAssemblyName = null;

            foreach (string asm in assemblies)
            {
                string tempAssemblyName = assemblyName;
                if (!tempAssemblyName.Contains(","))
                {
                    tempAssemblyName += ",";
                }

                if (asm.StartsWith(tempAssemblyName, StringComparison.InvariantCultureIgnoreCase))
                {
                    fullAssemblyName = asm;
                    break;
                }
            }

            if (fullAssemblyName == null)
            {
                throw new WebTestException(String.Format("Assembly '{0}' was not found on the web application's referenced assemblies", assemblyName));
            }

            try
            {
                return(_webApplication.GetResourceString(fullAssemblyName, resourceName, resourceKey));
            }
            catch (Exception e)
            {
                throw new WebTestException(
                          String.Format("Error occurred while attempting to extract resource from assembly. Assembly: '{0}'. ResourceName: '{1}'. ResourceId: '{2}'",
                                        fullAssemblyName,
                                        resourceName,
                                        resourceKey), e);
            }
        }