我似乎无法完成这项工作
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这样做?
我正在尝试为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
更新:对于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) 我有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")将解决我的问题
提前致谢.
处理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) 我正在遵循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) 我试图在Xamarin.Forms中实现Popup对话框或Dialog,但我无法找到任何参考或文档来实现这一点.
目前我专注于Xamarin.Forms中的iOS ...感谢任何代码片段或项目参考
c# ×4
asp.net ×2
azure ×1
code-first ×1
currency ×1
decimal ×1
fonts ×1
identity ×1
ios ×1
json.net ×1
many-to-many ×1
xamarin ×1
xamarin.ios ×1