小编Kor*_*yem的帖子

自引用多对多递归关系代码的第一个实体框架

我似乎无法完成这项工作

class Member
{
    public virtual IList<Member> Friends { get; set; }
    [Key]
    public int MemberId { get; set; }
    public string Name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我尝试添加Mappings但是徒劳无功.有没有办法用CTP5这样做?

c# many-to-many entity-framework code-first

42
推荐指数
2
解决办法
2万
查看次数

MVC5(VS2012)标识CreateIdentityAsync - 值不能为null

我正在尝试为MVC5站点设置OAuth(在VS2012中).

我正在使用Fluent NHibernate.我已经设置了自己的Userstore并传入一个存储库对象来访问NHibernate会话对象.我将我的商店传递给默认的aspnet usermanager提供程序.这最终适用于本地注册和登录.我不是要设置连接/注册Facebook.

它获得了一个成功的帐户.在用户表中添加用户,在登录表中添加记录然后爆炸.我没有在用户存储中实现声明,或者在用户对象中放置声明集合.(不确定这是否真的需要,我正在剥离所有可能出错的东西以找到问题的根源).

爆炸的线是(在账户控制器中):

var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);            
Run Code Online (Sandbox Code Playgroud)

在这种方法中:

private async Task SignInAsync(IdentityUser user, bool isPersistent)
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪的结束

[ArgumentNullException: Value cannot be null.
Parameter name: value]
   System.Security.Claims.Claim..ctor(String type, String value, String valueType, String issuer, String originalIssuer, ClaimsIdentity subject, String propertyKey, String propertyValue) +14108789
   System.Security.Claims.Claim..ctor(String type, String value, String valueType) +62
   Microsoft.AspNet.Identity.<CreateAsync>d__0.MoveNext() +481
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +144
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +84
   System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +49
   Web.Controllers.<SignInAsync>d__42.MoveNext() in d:\Google Drive\Development\GoalManagement\Web\Controllers\AccountController.cs:375
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +144
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +84
   Web.Controllers.<ExternalLoginConfirmation>d__35.MoveNext() in d:\Google Drive\Development\GoalManagement\Web\Controllers\AccountController.cs:311
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +144 …
Run Code Online (Sandbox Code Playgroud)

asp.net identity claims-based-identity asp.net-mvc-5 asp.net-identity

34
推荐指数
4
解决办法
2万
查看次数

从模型验证中排除类型(示例DbGeography)以避免InsufficientExecutionStackException

更新:对于tl; dr版本跳到底部


我有一个非常简单的JsonConverter子类,我正在使用Web API:

public class DbGeographyJsonConverter : JsonConverter
{
    public override bool CanConvert(Type type)
    {
        return typeof(DbGeography).IsAssignableFrom(type);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        var value = (string)reader.Value;

        if (value.StartsWith("POINT", StringComparison.OrdinalIgnoreCase))
        {
            return DbGeography.PointFromText(value, DbGeography.DefaultCoordinateSystemId);
        }
        else if (value.StartsWith("POLYGON", StringComparison.OrdinalIgnoreCase))
        {
            return DbGeography.FromText(value, DbGeography.DefaultCoordinateSystemId);
        }
        else //We don't want to support anything else right now.
        {
            throw new ArgumentException();
        }
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        serializer.Serialize(writer, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net json.net asp.net-web-api

22
推荐指数
1
解决办法
3343
查看次数

使用decimal.ToString("C")和CultureInfo的自定义货币符号和小数位

我有decimal.ToString("C")覆盖问题.基本上我想做的是如下:

CultureInfo usCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = usCulture;

NumberFormatInfo LocalFormat = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
LocalFormat.CurrencySymbol = "RM";
Run Code Online (Sandbox Code Playgroud)

我想使上面的代码成为一个函数(覆盖ToString("C")),从而执行以下代码时:

decimal paid = Convert.ToDecimal(dr["TotalPaids"]);
lblPaids.Text = paid.ToString("C");
Run Code Online (Sandbox Code Playgroud)

结果将是RM4,900.00而不是$ 4,900.00

如何为此创建覆盖decimal.ToString("C")将解决我的问题

提前致谢.

c# currency decimal

8
推荐指数
2
解决办法
3万
查看次数

WebAPI PUT InsufficientExecutionStackException与DbGeography类型

处理PUT调用时,WebAPI处理程序似乎在验证模型时进入堆栈溢出类型的情况.异常并不清楚,并且没有迹象表明模型中的内容导致此验证类进入循环.附加调试器什么都不做.处理程序将永远不会被调用,序列化程序将正常反序列化已发布的json而不会发生意外.可能有什么不对?

以下代码在退出抛出异常之前只循环了几百次"

堆栈不足以继续安全地执行程序.这可能是因为调用堆栈上的函数太多或堆栈上的函数占用太多堆栈空间.

at System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack() 
at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container, IEnumerable`1 validators) 
at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata metadata, ValidationContext validationContext) 
Run Code Online (Sandbox Code Playgroud)

该模型类似于这个简单的例子.该模型具有我可以确认的默认值全部初始化.该模型也没有自己的参考.

public class Example {
  [Required]
  public string test {get; set;}

  [Required]
  public CustomEnumType myEnum {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

7
推荐指数
1
解决办法
1048
查看次数

具有Easy Table和Easy API的Azure Mobile APP提供错误"不支持的服务"

我创建了移动应用程序,并希望使用Easy Table和Easy API.但是,无论何时我去那个地方,都会显示"不支持的服务".

以下是我的Azure帐户控制台的图像链接.

在此输入图像描述

提前致谢.

azure azure-mobile-services

6
推荐指数
1
解决办法
4399
查看次数

Xamarin表单自定义字体CrossPlatform

我正在遵循Xamarin提出的字体教程,在每个平台上都有自定义下载字体.然而,我遇到了很多问题,我也试图找到一种方法来做一些事情,但是whitout找到了如何使它工作.

首先,看一下教程,从相关部分开始.使用自定义字体


iOS版:

它说我们必须将font.tff添加到Resources文件夹中. 然后,我们必须对Info.plist做一些事情,但是什么呢?我不确定我该怎么做.

安卓:

Xamarin.Forms for Android目前没有公开将字体设置为自定义字体文件的功能,因此需要自定义渲染器.

CustomLabelRenderer.cs

public class CustomLabelRenderer : LabelRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
    {
        base.OnElementChanged(e);

        System.Diagnostics.Debug.WriteLine(Forms.Context.ApplicationContext.Assets, e.NewElement.StyleId + ".ttf");

        if (!string.IsNullOrEmpty(e.NewElement?.StyleId))
        {
            var font = Typeface.CreateFromAsset(Forms.Context.ApplicationContext.Assets, e.NewElement.StyleId + ".ttf");
            Control.Typeface = font;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

根据文档,OnElementChanged()将被称为,但它没有.Debug.WriteLine()不显示任何内容.为什么?

WinPhone 8.1:

我们必须将字体文件添加到/Assets/Fonts/应用程序项目中的文件夹,并设置Build Action:Content.一旦实现,Windows Phone的Xamarin.Forms可以通过遵循特定的命名标准引用已添加到项目中的自定义字体.但是,字体不会在视图上发生,字体保持标准,为什么?


目前,经过大量的搜索,很多尝试...没什么..

我正在尝试添加DIN Condensed Bold字体

我的XAML布局:

<ContentPage.Content>
 <AbsoluteLayout BackgroundColor="#235A5E">
  <!-- Menu -->
  <AbsoluteLayout x:Name="Menu" BackgroundColor="#2F767B" …
Run Code Online (Sandbox Code Playgroud)

fonts cross-platform xamarin.forms

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

具有自定义视图的Xamarin.Forms弹出对话框

我试图在Xamarin.Forms中实现Popup对话框或Dialog,但我无法找到任何参考或文档来实现这一点.

我想在当前页面的顶部显示视图,类似这样...... 主页

带有自定义视图的对话框

目前我专注于Xamarin.Forms中的iOS ...感谢任何代码片段或项目参考

xamarin.ios ios xamarin xamarin.forms

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