我一直在阅读+研究算法和公式,为我的用户提交的内容计算得分,以显示列表上方的当前热门/趋势项目,但是我承认我在这里有点过头了.
我将介绍一下我在追求的内容......用户将音频上传到我的网站,音频有几个动作:
理想情况下,我想一个算法,我可以更新音频新活动被记录一次得分(出场,下载等),也有下载行为的价值超过一打多了,像多了下载和多喜爱一样.
如果可能的话,我希望1周以上的音频从列表中大幅下降,以便为更新的内容提供更多的趋势.
我已经读过看起来很好的reddits算法了,但是我对如何调整它以利用我的多个变量以及在大约7天后丢弃旧文章感到满意.
一些我们感兴趣的文章:
任何帮助表示赞赏!
保罗
我需要使用某种自定义模型绑定器来处理英国格式的传入日期,我已经设置了自定义模型绑定器并注册如下:
GlobalConfiguration.Configuration.BindParameter(typeof(DateTime), new DateTimeModelBinder());
Run Code Online (Sandbox Code Playgroud)
这似乎只适用于查询字符串参数,并且只有在我的参数上指定[ModelBinder]时才有效,是否有办法让所有操作都使用我的模型绑定器:
public IList<LeadsLeadRowViewModel> Get([ModelBinder]LeadsIndexViewModel inputModel)
Run Code Online (Sandbox Code Playgroud)
另外,如何将我发布的表单发送到我的Api控制器以使用我的模型绑定器?
我正在开始一个新项目,并且热衷于使用对我来说很新的KnockoutJS + Web Api,我对Web Api有很好的理解,但Knockout目前很难理解.
这是我最初想要我的应用程序如何工作的想法:
LeadsControllerLeadsController有一个Action被调用ListLeads,但实际上并没有返回任何数据,只是返回一个带有模板的视图来显示来自Knockout的数据.ListLeads视图LeadsApiController通过ajax 调用我的api控制器以获取要显示的潜在客户列表我见过很多例子,但大多数都在第一页加载时返回一些初始数据,而不是通过ajax调用.
所以我的问题是,当从ajax中检索时,如何为Knockout创建我的JavaScript viewModel,其中ajax url是使用创建的Url.Content().
另外,如果我需要在此ViewModel上有额外的计算值,我将如何从服务器端扩展映射的视图模型.
如果我没有很好地解释自己,请告诉我你不确定的内容,我会尝试更新我的问题以使其更加明确.
asp.net-mvc knockout-mapping-plugin asp.net-web-api knockout.js
我希望我的用户能够以英国格式发布日期到asp.net web api控制器,例如2012年12月1日(2012年12月1日).
根据我的默认情况,只接受我们的格式.
我可以在某处更改某些内容,以便英国格式是默认格式吗?我尝试在web.config中更改全球化设置,但这没有任何效果.
保罗
如果我想从Request.Url或存储在我的数据库中的某些设置中提取此值,如何在运行时在CookieAuthenticationOptions中设置CookieDOmain?
我想支持子域,但也支持多租户,每个租户都有不同的域.
在配置此时我无法访问其中任何一个.
保罗
我想知道如何从MultiSelect框中将我的表单值绑定到我的强类型视图.
显然,当表单提交多选框时,会提交一个已选中的值的delittemered字符串...将这个值字符串转换回附加到我的模型要更新的对象列表的最佳方法是什么?
public class MyViewModel {
public List<Genre> GenreList {get; set;}
public List<string> Genres { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在控制器内更新我的模型时,我正在使用UpdateModel,如下所示:
Account accountToUpdate = userSession.GetCurrentUser();
UpdateModel(accountToUpdate);
Run Code Online (Sandbox Code Playgroud)
但是我需要以某种方式将字符串中的值返回到对象中.
我相信它可能与模型粘合剂有关,但我找不到任何明确的如何做到这一点的例子.
谢谢!!保罗
我要求用户编辑潜在客户的报价列表,报价可以是不同的类型,例如:
所有引用类型共享一个公共基类,例如QuoteBase.
我的报价在前端显示正常,并且似乎也回发了正确的数据.
但是,在服务器上它显然不知道要使用哪个子类,所以只使用基类.
我想我需要一些WebApi的自定义模型绑定器来检查一个隐藏的字段,比如ModelType,它包含集合中对象的类型,然后模型绑定器创建一个这种类型的新对象,并绑定我发布的属性此对象的值.
但是,我现在很困难,只有很少的文档/博客如何做到这一点.
我检查了WebApi的源代码,看看我是否可以扩展默认模型绑定器,但任何默认值都是密封类.
我只能通过它的外观实现IModelBinder,我可以通过查找名为ModelType的值来创建正确的模型类型,但是我不知道如何填充子类中的其余值,如果有默认值模型绑定器我继承自我只会调用基类绑定方法.
我不太确定我想要做的最优雅的解决方案.
我有一个列出音乐列表的页面,可以有成千上万的这些,所以他们分批分页,我也有4个链接在页面的顶部,以改变这些列表的订购方式.
按属性排序可以位于不同的实体上,例如Audio.AudioStats.NumComments或Audio.Artist.NumProfileViews.
我正在使用存储库模式和服务层.我的控制器只能访问服务层,然后服务层访问我的存储库.
我可以相当容易地进行分页,我只需将当前页面传入,并将页面大小传递给我的数据层......但我如何安全地让用户决定我的实体的排序.
我正在使用S#arp Architecture 1.5.2,如果这有任何区别的话.
先感谢您.
以下是我尝试使用热切的加载集合返回的实体示例.
混音 - >曲目(收藏) - >标签(收藏)
我需要返回一个带有急切加载的曲目和标签的混音的分页列表,而不需要通过使用Future <>()函数为曲目+标签运行多个查询来进行相对简单的分页.
因为需要对这些数据进行分页...如何恢复所有数据,以便NHibernate在显示数据时不会出现N + 1问题.
保罗
我正在尝试为 automapper 创建一个自定义解析器,它需要访问我的数据存储库之一以检索登录的用户帐户。
到目前为止,这是我的代码...
public class FollowingResolver : ValueResolver<Audio, bool>
{
readonly IIdentityTasks identityTasks;
public FollowingResolver(IIdentityTasks identitTasks)
{
this.identityTasks = identitTasks;
}
protected override bool ResolveCore(Audio source)
{
var user = identityTasks.GetCurrentIdentity();
if (user != null)
return user.IsFollowingUser(source.DJAccount);
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我收到此错误:
FollowingResolver' does not have a default constructor
Run Code Online (Sandbox Code Playgroud)
我曾尝试添加默认构造函数,但那时我的存储库从未被初始化。
这是我的自动放大器初始化代码:
public static void Configure(IWindsorContainer container)
{
Mapper.Reset();
Mapper.Initialize(x =>
{
x.AddProfile<AccountProfile>();
x.AddProfile<AudioProfile>();
x.ConstructServicesUsing(container.Resolve);
});
Mapper.AssertConfigurationIsValid();
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么,甚至有可能这样做还是我错过了这里的船?
c# dependency-injection castle-windsor inversion-of-control automapper
我有一个拥有600,000多用户的现有网站,我选择的数据库是RavenDb(NoSql).
我目前正在使用一种简单形式的Owin身份验证来登录用户,只需在我的登录控制器上调用它:
var identity = new ClaimsIdentity(new[] {
new Claim(ClaimTypes.Sid, user.Id),
new Claim(ClaimTypes.Email, viewModel.EMail),
new Claim(ClaimTypes.NameIdentifier, user.ArtistName)
},
DefaultAuthenticationTypes.ApplicationCookie,
ClaimTypes.Sid, ClaimTypes.Role);
Authentication.SignIn(new AuthenticationProperties
{
IsPersistent = viewModel.RememberMe
}, identity);
Run Code Online (Sandbox Code Playgroud)
现在我想允许我的用户使用外部提供商登录,例如facebook,google等,但如果我不需要,我不想使用UserManager抽象.
我需要用什么来使其工作?我想我需要编写ExternalLoginCallback代码等代码,但在此时我真正需要/不需要的东西很困惑.
我终于设法在我的 MVC 网站上实现 Facebook 作为外部登录提供程序,这似乎工作正常,但我想知道允许多个外部登录提供程序链接到单个帐户的正确/安全方法是什么。
假设我使用我的 Facebook ID 登录,没有找到具有相同电子邮件地址的现有帐户,并且我的网站保留了一个与其电子邮件地址和 Facebook 令牌等相关联的新帐户。
第二天我用我的 Google 帐户登录,如果我检查我的数据库中是否有一个已经有匹配电子邮件地址的帐户,我该怎么办?
1)自动将此Google帐户与现有帐户关联并登录?
2)询问用户是否希望将他们的谷歌帐户链接到我们找到的现有帐户?
3)还有别的事吗?
谢谢。
我正在寻找一种方法来创建上传到服务器的mp3文件的图形波形.从一点研究我相信mp3将需要首先转换为原始格式...但我不知道如何为此声音文件创建波形的.gif格式.
90%的声音文件长度超过60分钟.
我知道这不能在上传后立即完成,需要将其放入队列并进行处理.
我看过几个像lame这样的图书馆,但似乎没有人能够实现我想要的.
任何指向正确方向的指针都将非常感激!
非常感谢你!保罗
asp.net ×5
c# ×3
asp.net-mvc ×2
knockout.js ×2
nhibernate ×2
pagination ×2
algorithm ×1
automapper ×1
date-format ×1
modelbinders ×1
mp3 ×1
multi-select ×1
oauth ×1
oauth-2.0 ×1
owin ×1
ranking ×1
repository ×1
sorting ×1
sql-order-by ×1
updatemodel ×1
viewmodel ×1
waveform ×1