1
고객 네임 스페이스 : 나는 다음과 같은 구성을 가지고있는 웹 설정에서Spring.net 나는이처럼 보이는 고객 파서가 파서
[NamespaceParser(
Namespace = "http://mysite/schema/cache",
SchemaLocationAssemblyHint = typeof(CacheNamespaceParser),
SchemaLocation = "/cache.xsd"
)
]
public class CacheNamespaceParser : NamespaceParserSupport
{
public override void Init()
{
RegisterObjectDefinitionParser("cache", new CacheParser());
}
}
public class CacheParser : AbstractSimpleObjectDefinitionParser
{
protected override Type GetObjectType(XmlElement element)
{
return typeof(CacheDefinition);
}
protected override void DoParse(XmlElement element, ObjectDefinitionBuilder builder)
{
}
protected override bool ShouldGenerateIdAsFallback
{
get { return true; }
}
}
을 ....
<spring>
<parsers>
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/>
<parser type="App.Web.CacheNamespaceParser, WebApp" />
</parsers>
내가 실행하면 프로젝트 다음 오류가 발생합니다.
봄/파서에 대한 구성 섹션 처리기를 만드는 동안 오류가 발생했습니다. 잘못된 리소스 이름입니다. 이름은 'assembly:<assemblyName>/<namespace>/<resourceName>' format.
입니다. CacheNamespaceParser init 메소드에 중단 점을 넣으면 호출됩니다.
웹 설정에서 을 삭제하면 모두 잘됩니다!
이 예외는 Spring.Core.IO AssemblyResource 생성자에서 발생합니다. NamespaceParser ( 네임 스페이스 = "HTTP : // 내 사이트/스키마/캐시", SchemaLocationAssemblyHint = 대해서 typeof (CacheNamespaceParser), 의 schemaLocation = "/cache.xsd" ) 이 속성과 관련이? – iasksillyquestions
resourceName이 위의 생성자에 조립 통과 : // 웹 애플리케이션을, 버전 = 1.0.0.0, 문화 = 중립, PublicKeyToken = null이/cache.xsd "\t 문자열 내가 자원 이름, 어셈블리 이름을 갖고있는 것 같다 하지만 네임 스페이스 이름 ... – iasksillyquestions