小编dod*_*odo的帖子

收到“未配置为此 ObjectSerializer 实例的允许类型”序列化错误

我正在从事一个集成项目。将实体插入 mongodb 时出现错误。

错误消息返回以下字符串:

MongoDB.Bson.BsonSerializationException:“序列化类 Order 的 OrderData 属性时发生错误:类型 MarketplaceOrder 未配置为此 ObjectSerializer 实例的允许类型。'

之前几步,我从任何 api 资源获取数据并将数据转换为我的通用对象,<T>如下行所示。

var data = (JArray)returnDataFromNetwork.Data;
var order = data.ToObject<T>()
Run Code Online (Sandbox Code Playgroud)

将实体插入 mongodb 时出现错误

_orderRepository.InsertAsync(new Order
  {
    OrderData = order,
  });
Run Code Online (Sandbox Code Playgroud)
public class Order
{
  public object OrderData { get; set; }
}

public class MarketplaceOrder
{
  [JsonProperty("marketplace")]
  public string Marketplace { get; set; }

  [JsonProperty("account_id")]
  public int AccountId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

感谢您的支持,

我试图解释的所有事情都是关于“hangfire”(后台服务)项目的。首先,我在服务器控制台上收到此错误消息。然后我尝试在本地调试以了解问题所在。我无法理解错误消息的详细信息。

.net c# mongodb mongodb-.net-driver

14
推荐指数
1
解决办法
9214
查看次数

具有角色的Azure MVC OWIN授权在Azure门户中不起作用

我有一个示例,该示例如何配置authorization我自己的Azure active directory租户的易于登录的用户。我仅对此代码做了一个更改,我已通过AuthorizeAttribute的实现标记了HomeController,因为没有身份验证/授权的用户无法进入我的页面。

[Authorize(Roles = "Admin")]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

所述authorization配置步骤如下。

private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"];
private static string aadInstance = ConfigurationManager.AppSettings["ida:AADInstance"];
private static string tenant = ConfigurationManager.AppSettings["ida:Tenant"];
private static string postLogoutRedirectUri = ConfigurationManager.AppSettings["ida:PostLogoutRedirectUri"];

string authority = String.Format(CultureInfo.InvariantCulture, aadInstance, tenant);

public void ConfigureAuth(IAppBuilder app)
{
    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

    app.UseCookieAuthentication(new CookieAuthenticationOptions());

    app.UseOpenIdConnectAuthentication(
            new OpenIdConnectAuthenticationOptions
            {
                ClientId = clientId,
                Authority = authority,
                PostLogoutRedirectUri …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc azure owin azure-active-directory azureportal

5
推荐指数
0
解决办法
581
查看次数

Azure 应用程序洞察。自定义属性长度限制

Azure App Insight用作日志记录工具并通过以下代码存储日志数据:

    private void SendTrace(LoggingEvent loggingEvent)
    {
        loggingEvent.GetProperties();
        string message = "TestMessage";

        var trace = new TraceTelemetry(message)
        {
            SeverityLevel = SeverityLevel.Information
        };

        trace.Properties.Add("TetstKey", "TestValue");
        var telemetryClient = new TelemetryClient();
        telemetryClient.Context.InstrumentationKey = this.InstrumentationKey;
        telemetryClient.Track(trace);
    }
Run Code Online (Sandbox Code Playgroud)

一切正常。我看到登录记录App insight以及App insight analytics(在trace表中)。我的自定义属性写在特殊的应用洞察行部分 - customDimensions. 例如,上面的代码将添加具有“TestKey”键和“ TestValue”值的新属性到customDimensions部分。

但是当我尝试写一些大文本(例如JSON超过 15k 个字母的文档)时,我仍然可以毫无例外地做到这一点,但可写的文本将在一些文档长度后被切断。结果,部分中的自定义属性值customDimensions也将被裁剪,并且只有文档的第一部分。据我了解,允许在应用洞察自定义属性中写入最大文本长度有限制。

有人可以知道我该如何解决这个问题吗?

azure azure-application-insights custom-dimensions

4
推荐指数
1
解决办法
2831
查看次数