小编Lef*_*tyX的帖子

AngularJS在app.run()中的承诺

我正在研究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,但我没有任何其他想法.

javascript synchronous promise angularjs

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

如何实现C#Rhino Security

我正在尝试实现Rhino Security,我已经设法找到了几个教程,但他们没有提供足够的信息来完全理解它,我想知道是否有人知道一个好的来源从哪里学习Rhino Security.或者使用NHibernate实现安全性的最佳替代方案.

是否有针对Rhino Security中任何方法/类的某种文档?

c# security nhibernate privileges rhino-security

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

自定义jQGrid后期操作

我有一个很好的内联编辑示例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)

但自定义按钮根本没有出现.而且我还需要以某种方式发布行数据,我还需要指定自定义操作名称(操作)来处理服务器上的此操作.

jqgrid

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

FileSystemWatcher在保存文件之前触发 - 您如何"暂停"该过程?

这是我正在尝试代码的逻辑:

服务监视目录中的.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)

c# io multithreading

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

ASP.NET MVC,Nhibernate和小型/中型项目的存储库

我目前正在开发一个小型的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,这是针对存储库的.
我知道围绕这些主题有一个很大的争论,答案总是......依赖,但在我看来,由于抽象层次过多,事情变得更加复杂,难以理解.
我错了吗?

nhibernate asp.net-mvc repository-pattern

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

select2和远程数据:预设值和文本,避免服务器往返

我正在生成我的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.
一切似乎都正常.

还有更好的选择吗?

asp.net-mvc jquery jquery-select2

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

在表单Jquery select2中POST

所以我使用的是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)

我需要转到隐藏的输入格式吗?

php jquery post select jquery-select2

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

自定义OWIN/Katana UserManager工厂行为

有很多样本在线使用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创建数据库并管理搜索.

asp.net entity-framework owin katana asp.net-identity

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

“从池中获取连接时超时。” Hangfire.Postgres

我是 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)

我错过了什么吗?

c# postgresql asp.net-mvc timeout hangfire

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

OwinContext.Request多部分/表单数据解析?

有没有一种简单的方法可以从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,那么我可能最终只会一起破解密钥名称。

forms multipartform-data owin

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