小编Sha*_*son的帖子

Javascript继承 - instanceof不工作?

我正在使用javascript和html5编写一个简单的平台游戏.我正在以OO方式使用javascript.为了继承工作,我正在使用以下内容;

// http://www.sitepoint.com/blogs/2006/01/17/javascript-inheritance/
function copyPrototype(descendant, parent) {
    var sConstructor = parent.toString();
    var aMatch = sConstructor.match(/\s*function (.*)\(/);
    if (aMatch != null) { descendant.prototype[aMatch[1]] = parent; }
    for (var m in parent.prototype) {
        descendant.prototype[m] = parent.prototype[m];
    }
};
Run Code Online (Sandbox Code Playgroud)

为了这篇文章,请考虑以下示例;

function A() {
 this.Name = 'Class A'
}
A.prototype.PrintName = function () {
 alert(this.Name);
}

function B() {
 this.A();
}
copyPrototype(B, A);

function C() {
 this.B();
}
copyPrototype(C, B);

var instC = new C();

if (instC instanceof A)
  alert ('horray!');
Run Code Online (Sandbox Code Playgroud)

据我了解,我希望看到一个恐怖警报框,因为C是C&B&A的一个例子.我错了吗?或者我只是用错误的方法来检查?或者copyPrototype是否使用了instanceof运算符?

一如既往地感谢您花时间阅读本文!

肖.

javascript oop inheritance instanceof

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

为什么在Visual Studio 2012中默认情况下自动解决冲突?

我们最近安装了Visual Studio 2012,我正在与我们团队的另一名成员一起开展一个全新的项目,使用Team Foundation Server 2010进行源代码管理.我最近注意到我的一些文件在我办理登机手续时被随机破坏.然后在输出窗口中注意到有关冲突的通知,这些冲突自动解决了!?

事实证明这是Visual Studio 2012中的默认设置!

我在MSDN上发现了一篇关于如何关闭这个心理设置的文章(http://msdn.microsoft.com/en-gb/library/vstudio/ms181432.aspx#automatic_options),但我很好奇是否有人知道为什么这样做潜在的破坏性设置默认会打开?

version-control tfs visual-studio-2012

8
推荐指数
1
解决办法
7869
查看次数

jQuery val拒绝从数字字段返回非数字输入(在Chrome下)

刚刚在jQuery中偶然发现了一些奇怪的东西,同时编写了一些验证代码 - 我有一个html5"数字"字段;

<input type="number" class="required numeric" />
Run Code Online (Sandbox Code Playgroud)

然后,我的脚本将查看页面上的每个字段,检查类并根据需要进行验证.我奇怪地注意到,如果我在我的一个数字字段中输入"X",我会得到一个"请在此字段中输入一个值"错误,而不是"这应该是一个数字"错误.经过一些头脑刮擦和大量的调试后,我敲了一个jsFiddle来演示我的理论 - 如果你在一个数字字段中输入一个字符,然后尝试从jquery做一个.val()它会返回任何内容 - 好像字段是空的(我在Chrome中遇到过这种情况 - 不确定它是否在所有浏览器中都能正常工作);

http://jsfiddle.net/shawson/SE46L/3/

这是小提琴 - 输入一些数字,然后几个字母来看疯狂.任何人都知道这是否是设计的,如果是的话......为什么?

jquery google-chrome

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

XSD中的条件必需元素

我需要一个xml架构,它接受客户请求或客户ID.如果客户Id为0,那么我们需要客户数据,如果它> 0,那么客户数据是可选的(他们可以提交ammendements).我的XSD目前看起来像这样;

<xs:complexType>


    <xs:any>
      <xs:element name="UserID" type="xs:string" minOccurs="1"/>
      <xs:element name="Password" type="xs:string" minOccurs="1"/>
      <xs:element name="ReferenceNumber" type="xs:string" minOccurs="0"  maxOccurs="1"/>
      <xs:element name="CustomerId" minOccurs="1" maxOccurs="1" type="xs:integer"/>
      <xs:element ref="WhereSigned"/>
      <xs:element name="ContactName" type="xs:string" minOccurs="0"  maxOccurs="1"/>
      <xs:element name="ContactTelephone" type="xs:string" minOccurs="0"  maxOccurs="1"/>
      <xs:element name="ContactFax" type="xs:string" minOccurs="0"  maxOccurs="1"/>
      <xs:element name="ContactEmail" type="xs:string" minOccurs="0"  maxOccurs="1"/>
      <xs:element ref="MainApplicant"  maxOccurs="1"/>
      <xs:element ref="JointApplicant" minOccurs="0" maxOccurs="1"/>
      <xs:element ref="Asset" minOccurs="0" maxOccurs="1"/>
    </xs:any>


</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西......(我希望这很简单,但不是......)

<xs:complexType>
  <xs:choice>

    <xs:any>
      <xs:element name="UserID" type="xs:string" minOccurs="1"/>
      <xs:element name="Password" type="xs:string" minOccurs="1"/>
      <xs:element name="ReferenceNumber" type="xs:string" minOccurs="0"  maxOccurs="1"/>
      <xs:element name="CustomerId" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction …
Run Code Online (Sandbox Code Playgroud)

xml conditional xsd web-services

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

X509Store Certificates.Find()间歇性地找不到证书

我有一个MVC Web应用程序的问题,它使用私有证书调用另一个服务.

证书位于我的个人密钥库中,针对当前计算机 - 我曾经winhttpcertcfg将证书的权限授予我的Web应用程序的应用程序池标识.密钥按以下方法加载;

internal bool SetCertificateFromCertStore(string subjectName)
{
    X509Store store = null;
    try
    {
        store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
        store.Open(OpenFlags.ReadOnly);
        X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName, subjectName, true);
        if (certs.Count != 1)
        {
            store.Close();
            store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly);
            certs = store.Certificates.Find(X509FindType.FindBySubjectName, subjectName, true);
            if (certs.Count != 1)
            {
                throw new Exception("Unable to find Certificate");
            }
        }
        _certificate = certs[0];
        return true;
    }
    finally
    {
        if (store != null)
        {
            store.Close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个代码每次都工作到几周前(4月12日),当时在17:05我注意到ELMAH中第一个出现"无法找到证书"异常的例子.检查应用程序日志,系统仍在处理几乎所有请求,此错误在某些请求上每小时只会出现几次.

我已经阅读了类似的问题,建议实现类似于我已经使用的代码(查询多个商店).Windows证书存储是否存在某种已知问题?也许一个锁定问题?还有另一种方法可以解决这个或明显的问题我在这里做错了吗?

您可以提供的任何帮助都将受到赞赏,因为我已经用尽了一些东西!

c# asp.net-mvc client-certificates certificate-store x509

7
推荐指数
0
解决办法
811
查看次数

实体框架5 TSQL与SQL 2005调用存储过程不兼容

我正在使用Entity Framework 5,Code首先针对SQL 2005数据库.我有一个存储库,有一个执行存储过程的方法 - 该方法如下所示;

   public IEnumerable<PossibleDuplicateCustomer> GetPossibleDuplicates(Customer customer)
    {

        return DbContext.Database.SqlQuery<PossibleDuplicateCustomer>(
            "EXEC SearchPotentialDuplicates @CustomerId = {0}, @FirstName = {1}, @LastName = {2}, @dob = {3}",
            customer.CustomerId,
            customer.CustomerFirstName,
            customer.CustomerLastName,
            customer.Dob);
    }
Run Code Online (Sandbox Code Playgroud)

我尝试的另一个变种是;

    public IEnumerable<PossibleDuplicateCustomer> GetPossibleDuplicates(Customer customer)
    {
        return DbContext.Database.SqlQuery<PossibleDuplicateCustomer>(
            "SearchPotentialDuplicates @CustomerId, @FirstName, @LastName, @dob",
            new SqlParameter("CustomerId", customer.CustomerId),
            new SqlParameter("FirstName", customer.CustomerFirstName),
            new SqlParameter("LastName", customer.CustomerLastName),
            new SqlParameter("dob", customer.Dob));
    }
Run Code Online (Sandbox Code Playgroud)

当我执行此操作时 - 我收到错误;

System.Data.SqlClient.SqlException(0x80131904):'SearchPotentialDuplicates'附近的语法不正确.

所以我用miniprofiler抓住了生成的sql - 这给了我;

DECLARE @p0 int = 12644,
    @p1 nvarchar(4) = N'adam',
    @p2 nvarchar(3) = N'ant',
    @p3 datetime …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures mvc-mini-profiler entity-framework-5

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

2017年,在保留关系的同时,将实体框架应用程序迁移远离使用EDMX的最佳方法是什么

我已经看到一些旧问题要求相同(将实体框架EDMX转换为代码优先的工具),但大多数回到2009-2014(EF"模型优先":在类中创建edmx和db-table中的实体?/How使用来自EDMX文件的映射生成Entity Framework 6.x POCO类?)所以想问一下2017年的情况是否更好!

我们有一个EDMX,我们已经设置了使用DbContext生成器 - 这提供了更清晰的POCO和更简洁的上下文派生自DbContext而不是现在古老的ObjectContext但是我想完全放弃(完全不可合并的)edmx,但保持很多很多的关系,我们有我们有60多实体之间.只需删除当前的tt模板,就会丢失所有实体关系数据.

现在有一种工具或方法可以帮助实现这一目标吗?我无法相信微软自己还没有发布过一个工具(因为我相信他们不会产生关系,所以不再使用powertools)

c# entity-framework edmx dbcontext entity-framework-6

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

JQuery $ .ajax不会返回任何内容,但仅限于Google Chrome?

我希望有人可以帮助我,因为我不知所措.我试图在运行时使用jquery简单地将纯文本文件加载到页面中 - 在IE8(8.0.7600.16385),Firefox 3.6.3中一切正常,但是在Google Chrome 5.0.375.55中,"数据"无效 - 我得到一个空警报框.

这是我正在使用的代码;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Animation Test</title>
    <script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $.ajax({
                url: 'level1.txt',
                success: function (data) {
                    alert(data);
                },
                async: true,
                type: 'GET'
            });
        });
</script> 
</head>
<body>
    <canvas id="canvas" width="640" height="480">
        Unsupported Browser
    </canvas>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我正在加载的文件是包含此文件的纯文本文件;

Central Cavern
100
O.........1.C....C...........1.O
O................1.............O
O..............................O
O..............................O
O......................B1..B...O
O=============~~~~=~~~~========O
O.............................1O
O===...........................O
O............A..OOO.B..........O
O====...<<<<<<<<<<<<<<<<<<<<...O
O............................==O
O..............................O
O..........B........OOO.....===O
O....===============...........O
O%............................XO
O==============================O
Run Code Online (Sandbox Code Playgroud)

(是的 …

ajax jquery google-chrome

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

如何使用iTextSharp PdfReader从PdfFile获取UserUnit属性

我有一堆PDF文件-我按要求将它们读取到字节数组中,然后还将其传递给iTextSharp PdfReader实例。然后,我想获取每个页面的尺寸(以像素为单位)。从我到目前为止所读的内容来看,PDF文件似乎是按点工作的,这一点是存储在某种形式的字典中的可配置单元,该类存储在名为UserUnit的元素中。

将我的PDF文件加载到PdfReader中,我需要做些什么来获取每个页面的UserUnit(显然每个页面的UserUnit会有所不同),因此我可以获取页面尺寸(以像素为单位)。

目前,我有这段代码,它以“点”为单位获取每个页面的尺寸-猜想我只需要UerUnit,然后可以将这些尺寸乘以该尺寸以获得像素或类似的东西。

//Create an object to read the PDF
PdfReader reader = new iTextSharp.text.pdf.PdfReader(file_content);

for (int i = 1; i <= reader.NumberOfPages; i++)
{
  Rectangle dim = reader.GetPageSize(i);
  int[] xy = new int[] { (int)dim.Width, (int)dim.Height };  // returns page size in "points"
  page_data[objectid + '-' + i] = xy;
}
Run Code Online (Sandbox Code Playgroud)

干杯!

.net c# pdf itextsharp

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