3

ServiceStack をスタンドアロン モードで使用しています。TypeInitialzationException実行時にを与えるようになりましたApphost.Start()

当時、私はいくつかのカスタム フィルターの実装に取り​​組んでいましたが、フィルター処理された唯一の DTO クラスから注釈を削除しても問題は解決しませんでした。

スタック トレースには、関連するクラスが表示されません。失敗したクラスは、JsvReader明示的に使用していないクラスです。

どうすればこの問題を防ぐことができますか?

注: nuget を使用してすべてのパッケージを更新しただけなので、これは現在、すべての ServiceStack コンポーネントで 3.9.43 です。

例外の詳細

System.TypeInitializationException occurred
  HResult=-2146233036
  Message=The type initializer for 'ServiceStack.Text.Jsv.JsvReader`1' threw an exception.
  Source=ServiceStack.Text
  TypeName=ServiceStack.Text.Jsv.JsvReader`1
  StackTrace:
       at ServiceStack.Text.Jsv.JsvReader`1.GetParseFn()
       at ServiceStack.Text.Jsv.JsvReader.GetParseFn(Type type)
       at ServiceStack.ServiceModel.Serialization.StringMapTypeDeserializer..ctor(Type type)
       at ServiceStack.ServiceHost.RestPath..ctor(Type requestType, String path, String verbs, String summary, String notes)
       at ServiceStack.ServiceHost.ServiceController.RegisterRestPaths(Type requestType)
       at ServiceStack.ServiceHost.ServiceController.RegisterCommon(Type serviceType, Type requestType, Type responseType)
       at ServiceStack.ServiceHost.ServiceController.RegisterNService(ITypeFactory serviceFactoryFn, Type serviceType)
       at ServiceStack.ServiceHost.ServiceController.Register(ITypeFactory serviceFactoryFn)
       at ServiceStack.ServiceHost.ServiceManager.Init()
       at ServiceStack.WebHost.Endpoints.Support.HttpListenerBase.Init()
       at ArdWebServer.Program.Main(String[] args)
  InnerException: System.TypeInitializationException
       HResult=-2146233036
       Message=The type initializer for 'ServiceStack.Text.Common.DeserializeSpecializedCollections`2' threw an exception.
       Source=ServiceStack.Text
       TypeName=ServiceStack.Text.Common.DeserializeSpecializedCollections`2
       StackTrace:
            at ServiceStack.Text.Common.DeserializeSpecializedCollections`2.get_Parse()
            at ServiceStack.Text.Common.JsReader`1.GetCoreParseFn[T]()
            at ServiceStack.Text.Common.JsReader`1.GetParseFn[T]()
            at ServiceStack.Text.Jsv.JsvReader`1..cctor()
       InnerException: System.NullReferenceException
            HResult=-2147467261
            Message=Object reference not set to an instance of an object.
            Source=ServiceStack.Text
            StackTrace:
                 at ServiceStack.Text.PlatformExtensions.GenericTypeArguments(Type type)
                 at ServiceStack.Text.Common.DeserializeSpecializedCollections`2.GetGenericEnumerableParseFn()
                 at ServiceStack.Text.Common.DeserializeSpecializedCollections`2.GetParseFn()
                 at ServiceStack.Text.Common.DeserializeSpecializedCollections`2..cctor()
            InnerException: 

マイ アプリ ホスト

    public class AppHost : AppHostHttpListenerBase
    {
        public AppHost() : base("IAM Tools Service Stack Host", typeof (Tims.Global).Assembly)
        {                
            CatchAllHandlers.Add(
                (httpMethod, pathInfo, filePath) => 
                    Tims.Support.StaticFileHandler.Factory(
                        Params.Instance.HttpDataDir, 
                        "/", 
                        pathInfo
                )
            );
        }

        public override void Configure(Funq.Container container)
        {                
            SetConfig(new EndpointHostConfig()
                      {

                          DebugMode = true,

                          WriteErrorsToResponse = true
                      });        
        }
    }
4

0 に答える 0