我使用Protobuf-net来序列化自定义嵌套列表.我知道原生列表不能直接嵌套,这就是我为内部列表使用容器对象的原因.但是,我还想使我的容器对象IEnumerable,但这意味着Protobuf-net将它抛出错误:
不支持嵌套或锯齿状列表和数组
以下是导致错误的列表结构示例:
[ProtoContract]
public class MyOuterList<T>
{
[ProtoMember(1)]
readonly List<MyInnerList<T>> nestedData = new List<ObjectList<T>>();
}
[ProtoContract]
public class MyInnerList<T> : IEnumerable<T>
{
[ProtoMember(1)]
private readonly List<T> data = new List<T>();
}
Run Code Online (Sandbox Code Playgroud)
修复是从IEnumerable中删除MyInnerList但显然会阻止它直接迭代.是否有[ProtobufCustomObjectSoPleaseIgnoreIEnumerable]可以使用的偷偷摸摸的属性?
到目前为止我提出的最好的替代方法是使用如下所示的Enumerable属性,但我担心该属性仍然可以再次返回到列表中.我宁愿以GetEnumerator/yield某种方式使用,但我看不出如何.
[ProtoContract]
public class MyInnerList<T>
{
[ProtoMember(1)]
private readonly List<T> data = new List<T>();
public IEnumerable<T> Data
{
get { return this.data; }
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用新的App Service Auth工作流实现azure B2C,如下所述:https: //cgillum.tech/2016/05/27/app-service-auth-and-azure-ad-b2c/
注册和登录工作正常,但密码重置重定向到与成功登录相同的URL.例如:https://myapp.azurewebsite.net/.auth/login/aad/callback
但是,如果没有登录此重定向的用户失败并显示401 Unauthorized错误.
我在Azure B2C租户中设置了密码重置策略,但似乎无法将Easy Auth系统重定向到它.
请注意,我还在经典门户中为B2C启用了密码重置.
我在这里错过了什么?
更新:
当我仅使用SignIn策略(不是组合的SignUp/SignIn策略)时,密码重置正常.这两项政策似乎做了不同的事情.