DotNet Capacity Factory DLL 캐시
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Reflection;
namespace ConsoleApplication1
{
class TestFactoryFromAppConfig
{
/// <summary>
/// DLL
/// </summary>
private static Dictionary<string, Assembly> _FactoryDllCach = new Dictionary<string, Assembly>();
public static void Main()
{
TestFactoryFromAppConfig tfac = new TestFactoryFromAppConfig();
Interface ife = (Interface)tfac.GetFactoryClass("SamTestForFactory");
ife.SayHello();
Console.Read();
}
private object GetFactoryClass(string p)
{
/// <summary>
///
/// </summary>
object actionObj = null;
string vValue = ConfigurationManager.AppSettings[p];
string[] typeList = vValue.Split(',');
try
{
System.Reflection.Assembly dll = null;
if (_FactoryDllCach.ContainsKey(p))
{
dll = _FactoryDllCach[p];
}
else
{
dll = Assembly.Load(typeList[1].Trim());
_FactoryDllCach.Add(p, dll);
}
actionObj = dll.CreateInstance(typeList[0].Trim());
}
catch (Exception ex)
{
throw new Exception(" !", ex);
}
return actionObj;
}
}
}
플랜트 구현 클래스 코드는 인터페이스의 특정 방법을 구현한 것입니다.
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1.ChildFolder
{
class Child : Interface
{
#region Interface
public void SayHello()
{
string teacher = "teacher";
Console.WriteLine("hellow {0}", teacher);
}
#endregion
}
}
인터페이스 정의 SayHello 메서드:
4
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
public interface Interface
{
void SayHello();
}
}
appconfig 프로필에서 키 값 쌍을 정의합니다.ConfigurationManager.AppSettings 메서드가 값을 가져옵니다.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SamTestForFactory" value="ConsoleApplication1.ChildFolder.Child,ConsoleApplication1"/>
</appSettings>
</configuration>
프로그램 집합을 캐시에 넣고 다음에 같은 키로 접근하면 프로그램 집합을 다시 불러올 필요가 없고 캐시에서 읽으면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception Class에서 에러 코드 해석 ~초기초편~직장에서 C# 프로젝트가 내뿜는 오류 코드를 구문 분석하고 오류의 위치를 확인하기 위해 Exception class를 활용할 수 있었습니다. 지금까지 Exception Class 에 대해서 별로 파악할 수 없었기 때...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.