각 유형을 특성으로 장식하는 대신 ContractNamespace
을 사용하여 C# 열거 형에 대해 올바른 WSDL 네임 스페이스를 생성하는 데 어려움을 겪고 있습니다.WCF의 열거 형 네임 스페이스에 ContractNamespace 사용
다음 코드는 제대로 "http://www.mynamespace.co.za/"의 Person
유형을 생성하지만 어떤 이유로 Gender
를 들어, "http://schemas.datacontract.org/2004/07/SomeOtherNamespace"다른 WSDL 네임 스페이스에 있습니다.
무엇이 누락 되었습니까? enum은 특별한 대우가 필요합니까?
[assembly: ContractNamespace("http://www.mynamespace.co.za/", ClrNamespace = "SomeOtherNamespace")]
namespace SomeOtherNamespace
{
public class Person
{
public int Age { get; set; }
public Gender Gender { get; set; }
}
public enum Gender
{
Male,
Female,
Other
}
}
내 실제 코드에서 유형은 생성 된 외부 어셈블리에 있습니다. 유형은 사용자 정의 속성으로 쉽게 장식 될 수 없습니다. ContractNamespace
도 열거 형에서 작동 할 수 있으면 완벽 할 것입니다 ...
즉, 다음 코드는 작동하지만 코드 생성 프로세스에 들어가기가 매우 어려울 수 있습니다.
[DataContract(Namespace = "http://www.mynamespace.co.za/")]
public enum Gender
{
[EnumMember]
Male,
[EnumMember]
Female,
[EnumMember]
Other
}
감사합니다 도움이 될 수 있습니다, 나는 IWsdlExportExtension를 시도 할 것이다 – carlmon