zoukankan      html  css  js  c++  java
  • Orleans 序列化遇到的坑

    真的是巨坑

    搞明白问题的我简直无法用言语来描述我的心情

    先上架构图

    理想中的架构

    服务随便上 网关只负责分发

    然后跟随官方教程写遇到了序列化问题

    以前有经验,不慌,以前稀里糊涂就搞定了。

    再然后遇到一个令人崩溃的问题

    One or more errors occurred. (Named type "Entity.BookCategory" is invalid: Type string "Entity.BookCategory" cannot be resolved.) ---> System.TypeAccessException: Named type "Entity.BookCategory"

    Entity.BookCategory这个自行替换成实体类文件名

    中间出现的描述词是在太少

    为一一个描述is invalid: Type string 却没什么卵用  摸不着头脑

    在然后注意到报错的类是System.

    TypeAccessException

    The exception that is thrown when a method attempts to use a type that it does not have access to.

    翻译过来是没有访问权限抛出的异常

    一脸懵逼

    Entity是基础库 大家都引用了

    只有Gateway没有引用

    于是引用Entity库

    这个是Github上大佬给出的解决方法

    最开始我是用的第一个解决方法

    在Gateway安装两个Nuget,没有解决

    .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(BookCategory).Assembly).WithReferences())

    然后转为第三种方法,诶 跑动了

    还没高兴一会。

    做了个测试,

    网关启动

    修改服务逻辑 添加新的类

    启动服务与客户端

    问题又出来了

    这可真是叫人绝望啊

    意味着每一次新增实体都要重启网关。

    这是在逗我?

    也大概能猜到为什么

    Orleans是预编译

    他在程序启动的时候执行扫包,编码,生成类文件

    新增的实体没有被生成类文件。

    当然没有权限访问,因为根本不存在。

  • 相关阅读:
    tips
    数学建模-预测模型优缺(搬运)
    数学建模-灰色预测模型GM(1,1)_MATLAB
    Floyd算法_MATLAB
    第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
    面向对象
    for循环
    if---else
    airflow的web任务管理
    airflow原理
  • 原文地址:https://www.cnblogs.com/AnAng/p/11040216.html
Copyright © 2011-2022 走看看