我正在研究angularJs和typescript项目.在启动客户端应用程序和加载UI之前,我必须进行同步http调用并从服务器获取一些数据.我在互联网上搜索,看到每个人都谈论承诺,huumm好吧为什么不呢.所以我在app.run()中使用promise(make $ http call并使用$ q来返回promise).也许我什么都没有,因为这根本不起作用.Angular启动app.config(),然后app.run(),...但Angular不会在启动app.run()之前等待app.config()完成.所以我的第一个承诺是在app.run()中启动,在它解决Angular尝试实例化控制器之前......我不想创建新的服务调用httpSynchronous,但我没有任何其他想法.
我正在尝试实现Rhino Security,我已经设法找到了几个教程,但他们没有提供足够的信息来完全理解它,我想知道是否有人知道一个好的来源从哪里学习Rhino Security.或者使用NHibernate实现安全性的最佳替代方案.
是否有针对Rhino Security中任何方法/类的某种文档?
我有一个很好的内联编辑示例jQGrid http://ok-soft-gmbh.com/jqGrid/TestSamle/Admin.htm 有两个自定义操作编辑和删除.
我想添加一个自定义内联Action,让我们称之为ToggleOnline.在此操作上,我想将网格的所有单元格发布到控制器.基本上它将是一种编辑操作,但它会为某些列设置一些默认值.
内联按钮添加如下:
{ name: 'act', index: 'act', width: 55, align: 'center', sortable: false, formatter: 'actions',
formatoptions: {
keys: true, // we want use [Enter] key to save the row and [Esc] to cancel editing.
delOptions: myDelOptions
}
}
Run Code Online (Sandbox Code Playgroud)
比添加自定义附加按钮我正在使用事件 loadComplete:
loadComplete: function(){
debugger;
var ids = jQuery("#Grid1").getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
custom = "<input style='height:22px;width:20px;' type='button' value='E' onclick=jQuery('#Grid1').editRow(" + cl + "); />";
jQuery("#Grid1").setRowData(ids[i], { act: custom })
}
}
Run Code Online (Sandbox Code Playgroud)
但自定义按钮根本没有出现.而且我还需要以某种方式发布行数据,我还需要指定自定义操作名称(操作)来处理服务器上的此操作.
这是我正在尝试代码的逻辑:
服务监视目录中的.pptx文件.如果文件已更改,请执行转换为jpg.然后执行其他任务,稍后将添加.
我正在使用文件wather对象,但是一打开文件就会触发,所以我想通过检查文件是否"锁定"来停止该过程.我认为"锁定时"循环可以解决问题 - 但不是.下面是简化的代码原型,如果你能看一下,我就会知道我做错了什么和/或是否有更好的方法来为生产环境编写这个.pptx文件可以打开很长时间.
namespace FileWatcherDemo
{
public class Program
{
static void Main(string[] args)
{
FileSystemWatcher fsWatcher = new FileSystemWatcher();
fsWatcher.Path = @"e:\\";
fsWatcher.NotifyFilter = NotifyFilters.LastWrite;
fsWatcher.Filter = "*.pptx";
fsWatcher.Changed += new FileSystemEventHandler(fsWatcher_Changed);
//fsWatcher.Created += new FileSystemEventHandler(fsWatcher_Changed);
//fsWatcher.Deleted += new FileSystemEventHandler(fsWatcher_Changed);
//fsWatcher.Renamed += new RenamedEventHandler(fsWatcher_Changed);
fsWatcher.EnableRaisingEvents = true;
Console.ReadKey();
}
static void fsWatcher_Changed(object sender, FileSystemEventArgs e)
{
try
{
while( !IsFileLocked())
{
Console.WriteLine("Changed Event Fired");
Microsoft.Office.Interop.PowerPoint.Application app = new Microsoft.Office.Interop.PowerPoint.Application();
Presentation pptPresentation = app.Presentations.Open(@"e:\\HowTo.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
pptPresentation.SaveAs(@"e:\\Output", …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个小型的ASP.NET MVC项目.
我试图实现Nhibernate持久化MS Sql Server数据库.花了很长时间研究DDD和互联网上发现的其他项目后,我决定采用存储库模式.现在我面临着两难的局面.
使用Nhinbernate时是否真的需要存储库?
拥有一个与Nhinbernate交互的服务层(我目前没有服务层)不是更好,避免写多次这样的事情:
public Domain.Reminder GetById(Guid Code)
{
return (_session.Get<Domain.Reminder>(Code));
}
public Domain.Reminder LoadById(Guid Code)
{
return (_session.Load<Domain.Reminder>(Code));
}
public bool Save(Domain.Reminder Reminder)
{
_session.SaveOrUpdate(Reminder);
return (true);
}
public bool Delete(Domain.Reminder Reminder)
{
_session.Delete(Reminder);
return (true);
}
Run Code Online (Sandbox Code Playgroud)
我找到了一个旧的Ayende的POST,这是针对存储库的.
我知道围绕这些主题有一个很大的争论,答案总是......依赖,但在我看来,由于抽象层次过多,事情变得更加复杂,难以理解.
我错了吗?
我正在生成我的HTML标签服务器端(asp.net mvc4).
我想预先设置我的HIDDEN字段的值和描述,避免使用ajax调用来获取initSelection函数中的数据.
我见过有人用javascript设置值:
$("#select2Test").select2('data', { id: 20832, text: 'LONDON' })
Run Code Online (Sandbox Code Playgroud)
但它仍然需要我额外的代码来实现已经从viewmodel中的服务器流式传输的东西.
我想出了这样的事情:
<input type="hidden" id="select2Test" name="select2Test" value="20832" data-option="LONDON" />
Run Code Online (Sandbox Code Playgroud)
我已经使用HTML5数据属性data-option和我的查找描述,并且我已经实现了initSelection函数,以便我可以读取my字段的值及其数据属性:
initSelection: function (item, callback) {
var id = item.val();
var text = item.data('option');
var data = { id: id, text: text };
callback(data);
},
Run Code Online (Sandbox Code Playgroud)
我已经看到只有在隐藏字段设置了值时才会调用initSelection.
一切似乎都正常.
还有更好的选择吗?
所以我使用的是Select2插件,在表单中发布多个选项时遇到问题.我可以选择多个选项,但只能传递一个:
<form>
<select multiple name="message-from-select" id="message-from-select" class="select2">
<option value="janedoen@example.com">janedoen@example.com</option>
<option value="antonius@example.com" selected="selected">antonius@example.com</option>
<option value="michael@example.com" selected="selected">michael@example.com</option>
<option value="bayjack@example.com">bayjack@example.com</option>
<option value="stacy@example.com">stacy@example.com</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
在我的PHP页面上,当我选择多个选项后var_dump:
var_dump($_POST['message-from-select']);
Run Code Online (Sandbox Code Playgroud)
我只得到一个字符串,即:
string 'michael@example.com' (length=19)
Run Code Online (Sandbox Code Playgroud)
我需要转到隐藏的输入格式吗?
有很多样本在线使用OWIN/Katana根据用户名/密码组合在数据库中查找用户并生成索赔主体,例如...
var userManager = context.OwinContext.GetUserManager<ApplicationUserManager>();
ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password);
// generate claims here...
Run Code Online (Sandbox Code Playgroud)
如果您正在创建一个新的应用程序并希望实体框架执行脏工作,那就没问题.但是,我有一个八年历史的单片网站刚刚更新,使用基于声明的身份验证.我们的数据库命中是通过DAL/SQL手动完成的,然后从那里生成ClaimsIdentity.
有些人建议OWIN比我们的手动方法更容易使用,但我想从那些使用它的人那里得到一些输入.
是否可以根据凭据更改UserManager工厂查找用户的方式?或者,我错过了另一种方法吗?我在网上找到的所有样本似乎都使用样板方法让Entity Framework创建数据库并管理搜索.
我是 Hangfire 的新手,所以可能我在某个地方搞砸了。我的 Hangfire 配置如下:https : //github.com/HangfireIO/Hangfire#installation
但不是:
config.UseSqlServerStorage("<connection string or its name>");
Run Code Online (Sandbox Code Playgroud)
我有:
config.UsePostgreSqlStorage("Server=127.0.0.1;Port=5432;User Id=postgres;Password=pwd;Database=Hangfire");
Run Code Online (Sandbox Code Playgroud)
所以我在我的数据库中创建了一个 Hangfire 数据库。
然后,我正在构建和运行我的项目。没关系。在我的 postgres 中创建 Hangfire DB 中的所有表。它工作得很好。
但是,当我尝试时:
BackgroundJob.Enqueue(() => HubService.SendPushNotificationToUsers(threadParticipants, messageApi.SenderId, messageApi.SenderName, messageApi.ThreadId, messageApi.Content));
Run Code Online (Sandbox Code Playgroud)
我收到了一个 InnerMessage 异常:
"Timeout while getting a connection from pool." postgres
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
有没有一种简单的方法可以从OwinContext.Request实例解析多部分/表单数据信息 ?
我知道如何使用HttpContext.Current.Request.Form.Get()做到这一点,但是我不确定我是否真的想在Owin管道中做到这一点。
我知道我可以使用.ReadFormAsync()来获取IFormCollection,它对于标准提交似乎很好用,但是使用多部分/表单数据后,边界值,内容类型和变量名都被放入了键。因此,我不能只是执行formVars.Get(“ VariableName”),因为它不是变量名,而是一个复合值。似乎它不应该那样做...对吗?
public AppFunc PreAuthMiddleware(AppFunc next) {
AppFunc appFunc = async (IDictionary<string, object> environment) => {
IOwinContext context = new OwinContext(environment);
IFormCollection formVars = await context.Request.ReadFormAsync();
... Now What ...
await next.Invoke(environment);
};
return appFunc;
}
Run Code Online (Sandbox Code Playgroud)
我希望访问表单变量和文件数据就像使用HttpContext一样容易,但是似乎还有很多工作要做。
如果有人对此有任何见解,请告诉我。否则,如果我看到主要的内容类型是multi-part / form-data,那么我可能最终只会一起破解密钥名称。
asp.net-mvc ×3
c# ×3
jquery ×2
nhibernate ×2
owin ×2
angularjs ×1
asp.net ×1
forms ×1
hangfire ×1
io ×1
javascript ×1
jqgrid ×1
katana ×1
php ×1
post ×1
postgresql ×1
privileges ×1
promise ×1
security ×1
select ×1
synchronous ×1
timeout ×1