????????????????????????????????????????????????????????????????????????е???????????????????????????????????????????????????????????????????д???????ж????????????????????????????????????????????????????????web.config??????????ж???????????????г????????????????????????У???????????????????????????????????????????????????????????м????????????????????????е???????????????????????г????????????????????У???????????????????????????м??????

????????????????????????????????????????????????????????????????????????????ó????????????????????????????л??к??????????Щ????????????????????????????????????????????????????????????????????????ù????

???????????????????????????????????÷????????????ж??????????????????????????????????ж????????????????????????????????????÷?????

?????????????????????????Щ???????????????????????????á????????????????????棬?????′ε?????????????????????? ??????IE??????????????????????

?????????????????????????????Щ??????????????????????????????????????????

??????????DALFactory????ù?????????????????????????????????????????DALFactory???????÷????????????????????????????????????????????????????????о???

??????????????£?

????web.config?ж??????????????

<appSettings>
    <add key="SQLDAL" value="Test.DAL"/>
</appSettings>

????????DAL??????DALFactory????DAL?????????????????jc_bm??????????

<SPAN style="FONT-FAMILY: simsun">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using Test.DAL;
using System.Reflection;

namespace Test.DALFactory
{
    /// <summary>
    /// ??????????????????????IDAL????ò????
    /// </summary>
    public sealed class DataAccess
    {
        private static readonly string AssemblyPath = ConfigurationManager.AppSettings["SQLDAL"];
        private DataAccess() { }
        /// <summary>
        /// ???????????????
        /// </summary>
        public static object CreateObject(string AssemblyPath?? string ClassNamespace)
        {
            object objType = DataCache.GetCache(ClassNamespace);//???????
            if (objType == null)
            {
                try
                {
                    objType = Assembly.Load(AssemblyPath).CreateInstance(ClassNamespace);//??????
                    DataCache.SetCache(ClassNamespace?? objType);// д????
                }
                catch
                { }
            }
            return objType;
        }
        /// <summary>
        /// ????jc_bm???????
        /// </summary>
        public static Test.IDAL.Ijc_bm Createjc_bm()
        {
          
            string ClassNamespace = AssemblyPath + ".jc_bm";
            object objType = Test.DALFactory.DataAccess.CreateObject(AssemblyPath?? ClassNamespace);
            return (Test.IDAL.Ijc_bm)objType;
        }}}</SPAN>

??????????????????????????????????????????????????ù?????????????????[System.IO.FileNotFoundException] = {"δ?????????????“Test.DAL”????????????????????????????????":"Test.DAL"} ?????DAL??????????е??????

???????е?Assembly name?????DAL????????е??????????????web.config??????????????“SQLDAL”????"Test.DAL"???????????????????μ????????????????????????????????????????Assembly name?????????DAL????????????????????????????????????DAL???Test.DAL?????????г?????