문제

나는 샌드 박스 한 솔루션에 팜 솔루션을 포트하려고 노력하고 있으며,이 코드를 포트하는 방법을 알아낼 수 없습니다 :

[ToolboxItem(false)]
public partial class vClockPartSB : System.Web.UI.WebControls.WebParts.WebPart
{
    [Personalizable(PersonalizationScope.User)]
    public Collection<String> ClockTimeZones { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public int NumberOfClocks { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlMain { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubOne { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubTwo { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubThree { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubFour { get; set; }



    protected override void OnInit(EventArgs e)
    {
        ClockTimeZones = new Collection<string>();
        base.OnInit(e);
        InitializeControl();
    }
.

다음과 같은 오류가 발생합니다.

웹 파트 오류 : 샌드 박스 코드에 의해 처리되지 않은 예외가 발생했습니다. 부분 트러스트 앱 도메인의 래퍼의 실행 메소드 : 웹 파트 속성 'CLICKTIMEZONES'는 지원되지 않는 유형을 사용합니다 (System.Collections.ObjectModel.Collection`1 [[시스템], MSCorLib, 버전= 2.0.0.0, 문화= 중립, PublicKeyToken= B77A5C561934E089]), 샌드 박스 코드 웹 파트로 실행할 수 없습니다.

어떻게 접근해야합니까?

도움이 되었습니까?

해결책

문자열 컬렉션이 아닌 문자열을 저장하고 내 직렬화 / deserialisation을 수행하는 데만 유혹을받을 것입니다.아마 cring.split () 함수와 적절한 구분 기호를 사용합니다.

다른 팁

System.Collections.ObjectModel 네임 스페이스는 샌드 박스에서 허용되지 않습니다.

시나리오의 경우 목록을 사용할 수 있습니다.대신?

분명히 샌드 박스 솔루션의 웹 파트의 속성으로 다음 유형 만 지원됩니다.

  • string
  • bool
  • enum
  • 짧은
  • int
  • GUID
  • uri
  • 바이트
  • char
  • long
  • float
  • 십진수
  • 이중

    alan dahl의 블로그 기사 alan dahls '블로그에서 검색을했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top