小编Dav*_*hel的帖子

选择SQL Server中的所有空表

如何获取我的sql-server数据库中没有任何记录的表列表?

t-sql sql-server

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

如何使用角度Kendo UI刷新网格数据源

我使用Angular Kendo UI项目将Telerik Kendo网格与Angular相结合.

我有以下标记:

<div kendo-grid="" k-options="thingsOptions" style="height: 600px;" />
Run Code Online (Sandbox Code Playgroud)

和我的控制器中的以下代码:

    $scope.thingsOptions = {
        dataSource: {
            type: "json",
            transport: {
                read: "/OM/om/getAssets",
                dataType: "json"
            },
            schema: {
                model: {
                    id: "ProductID",
...
Run Code Online (Sandbox Code Playgroud)

这一切都正常,但我想从我的控制器强制数据源刷新我的网格.就像是

 $scope.getTasks = function() {
    $scope.thingsOptions.dataSource.read();
};
Run Code Online (Sandbox Code Playgroud)

这是可以从控制器做的吗?我总能做点什么

$("#taskGrid").data("kendoGrid").dataSource.read();
Run Code Online (Sandbox Code Playgroud)

在我的控制器中.但是从我的控制器中选择一个HTML元素似乎有点不对劲.

kendo-ui angularjs kendo-grid

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

如何从java脚本对象中引发自定义事件

我试图更好地理解Java脚本中面向对象的技术.

我有下面的(普通)对象.

function CustomObject () {
    this.size = 1;
};

CustomObject.prototype.addSize = function () {
    this.size += 1;
    if(this.size > 5) {
        //Raise custom Event
    }
};
Run Code Online (Sandbox Code Playgroud)

而我正在这样设置它.

   var myObject = new CustomObject();
    myObject.addSize();

    // Add listener for custom event from with in my Custom Object.
    // Something like this....
    myObject.addEventListener("CustomEvent", handelCustomEvent, false);

    function handelCustomEvent() {}
Run Code Online (Sandbox Code Playgroud)

如何在自定义对象中引发自定义事件,然后在父级中侦听该事件?在Java脚本中这种事情甚至可能吗?

javascript javascript-events

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

如何使用SignalR Hub将消息从服​​务器发送到客户端

我刚刚开始探索signalR,我希望能够从服务器向所有客户端发送消息.

这是我的中心

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SignalR;
using SignalR.Hubs;
using SignalR.Hosting.Common;
using SignalR.Hosting.AspNet;
using System.Threading.Tasks;

namespace MvcApplication1
{
    public class Chat : Hub
    {
        public void Send(String message)
        {
            // Call the addMessage methods on all clients
            Clients.addMessage(message);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的客户页面

      <script type="text/javascript">

         $(function () {

             //Proxy created on the fly
             var chat = $.connection.chat;

             // Declare a function on the chat hub so the server can invoke it
             chat.addMessage = function (message) { …
Run Code Online (Sandbox Code Playgroud)

c# signalr signalr-hub

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

如何使.Net web-API能够接受g-ziped帖子

我有一个相当重要的标准.net MVC 4 Web API应用程序.

 public class LogsController : ApiController
{

    public HttpResponseMessage PostLog(List<LogDto> logs)
    {
        if (logs != null && logs.Any())
        {
            var goodLogs = new List<Log>();
            var badLogs = new List<LogBad>();

            foreach (var logDto in logs)
            {
                if (logDto.IsValid())
                {
                    goodLogs.Add(logDto.ToLog());
                }
                else
                {
                    badLogs.Add(logDto.ToLogBad());
                }
            }

            if (goodLogs.Any())
            {
                _logsRepo.Save(goodLogs);
            }

            if(badLogs.Any())
            {
                _logsBadRepo.Save(badLogs);
            }


        }
        return new HttpResponseMessage(HttpStatusCode.OK);
    }
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,我有能够发送他们的日志的设备,它运作良好.但是现在我们开始担心要传输的数据的大小,我们想看一下接受使用GZIP压缩的帖子?

我该怎么做呢?是在IIS中设置还是我可以使用Action Filters?

编辑1

跟着菲利普的回答,我的想法是我需要在它到达我的控制器之前拦截请求的处理.如果我可以在Web api框架尝试将请求的主体解析到我的业务对象之前捕获请求,该请求失败,因为请求的主体仍然被压缩.然后我可以解压缩请求的主体,然后将请求传递回处理链,希望Web Api框架能够将(解压缩的)主体解析为我的业务对象.

它看起来像使用DelagatingHandler是要走的路.它允许我在处理期间,但在我的控制器之前访问请求.所以我尝试了下面这个?

 public class gZipHandler : DelegatingHandler
{

    protected override …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

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

如何在Android中自动接受Wi-Fi Direct连接请求

我有2台使用WiFi Direct的Android设备.在一台设备上,我可以使用WifiP2pManager该类获取有关其他设备的信息,并请求连接到另一台设备.但是,当我请求连接时,另一个设备弹出一个小窗口并询问用户是否要接受连接请求.

是否可以自动接受这些连接请求?IE无法在没有用户确认的情况下连接到其他设备?

android wifi-direct wifip2p

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

如何在原型函数中访问javascript对象变量

我有以下javascript

function person() {
  //private Variable
  var fName = null;
  var lName = null;

  // assign value to private variable
  fName = "Dave";
  lName = "Smith";
};

person.prototype.fullName = function () {
  return this.fName + " " + this.lName;
};

var myPerson = new person();
alert(myPerson.fullName());
Run Code Online (Sandbox Code Playgroud)

我试图在javascript中理解面向对象的技术.我有一个简单的人物对象,并为其原型添加了一个函数.

我期待警报有"戴夫史密斯",但我得到了"underfined underfined".为什么这样,我该如何解决?

javascript

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

是否有可能依赖于jQuery远程验证?

我正在使用jQuery远程验证来检查描述是否已被使用.

 Description: {
                    required: true,
                    maxlength: 20,
                    remote: function () {
                        var newDescription = $("#txtDescription").val();
                        var dataInput = { geoFenceDescription: newDescription };
                        var r = {
                            type: "POST",
                            url: "/ATOMWebService.svc/DoesGeoFenceDescriptionExist",
                            data: JSON.stringify(dataInput),
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            dataFilter: function (data) {
                                var x = (JSON.parse(data)).d;
                                return JSON.stringify(!x);
                            }
                        };
                        return r;
                    }
                },
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当用户没有修改文本框并返回说该描述已被使用时,会发生这种远程验证,因为它在数据库中发现了它.

那么,如果文本字段与最初的文本字段不同,是否可以仅运行远程验证?

我注意到jQuery所需的验证有一个依赖选项,但我无法让它与远程调用一起工作.

jquery jquery-validate

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

从DbSet转换为IEnumerable会导致查询执行吗?

我的Logs存储库中有以下两种方法.

public IEnumerable<Log> GetAll()
{
   var db = new CasLogEntities();
   return db.Logs;
}           


public DbSet<Log> GetAllSet()
{
   var db = new CasLogEntities();
   return db.Logs;
}           
Run Code Online (Sandbox Code Playgroud)

唯一的区别是一个返回一个IEnumerable的Log,另一个返回一个DbSet的Log.

在我的资产控制器中,我有以下代码

var allLogs = _logRepo.GetAllSet();
var Logs = (from log in allLogs
              group log by log.DeviceId
              into l
              select new {DeviceId = l.Key, TimeStamp = l.Max(s => s.TimeStamp)}).ToList();
Run Code Online (Sandbox Code Playgroud)

现在问题是我在group by语句中获得了巨大的性能差异,这取决于我调用哪个repo方法.

  • 返回DbSet的getAllSet快速闪电,
  • GetAll返回IEnumerable真的很慢.

任何人都可以解释一下.我当时认为在GetAll中将DbSet转换为IEnumerable导致Query执行,因此我在一个庞大的内存集中执行该组.而当GetAllSet将查询执行推迟到"ToList()"时,因此在服务器上通过工作来执行该组.

它是否正确?还有另一种解释方法吗?

我更喜欢让GetAll返回IEnumerable,因为我对它更熟悉并且它更容易进行测试.

entity-framework dbset

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

为什么"$(SolutionDir)"在visual studio 2012中不起作用?

我有一个.net 4 MVC Web Api应用程序,我最初在visual studio 2010中构建.作为此解决方案的一部分,我有一套单元测试.

我用以下方法装饰了单元测试方法

 [AspNetDevelopmentServerHost("$(SolutionDir)\\DataCollectionService", "/")]
Run Code Online (Sandbox Code Playgroud)

我的理解是"$(SolutionDir)"参数保存了解决方案目录的路径,并使测试套件更通用,因为它在多个环境中工作.这在视觉工作室2010中都很有用.

但是,当我在visual studio 2012中打开项目并尝试运行测试套件时,我收到以下错误

"消息:网站路径'$(SolutionDir)\ DataCollectionService'不存在...."

如果我把它改成确切的路径就好

    [AspNetDevelopmentServerHost("D:\\CASLog\\Trunk\\DataCollectionService", "/")]
Run Code Online (Sandbox Code Playgroud)

它工作正常,虽然它不再通用.

我不确定它是否重要,但我的视觉工作室2010有重新整形,而我的视觉工作室2012没有.

有什么想法吗?

visual-studio asp.net-web-api

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