小编Rud*_*dey的帖子

JavaScript:如何创建JSONP?

我有两个域名,example1.com和example2.com

从example1.com开始,我想在example2.com上调用我的JSON API.知道这是不允许的,它发生在我身上 - 这正是创建JSON P的原因.

问题是,如何修改我的JSON API以使其具备JSONP能力?

基本上,我如何创建回调api?

UPDATE

我的服务器端语言是PHP

javascript php json jsonp cross-domain

40
推荐指数
4
解决办法
5万
查看次数

两种不同的种子产生相同的"随机"序列

也许对此有一个非常逻辑的解释,但我似乎无法理解为什么种子02,147,483,647产生相同的"随机"序列,使用.NET的随机类(系统).

快速代码示例:

var random1 = new Random(0);
var random2 = new Random(1);
var random3 = new Random(int.MaxValue); //2,147,483,647

var buffer1 = new byte[8];
var buffer2 = new byte[8];
var buffer3 = new byte[8];

random1.NextBytes(buffer1);
random2.NextBytes(buffer2);
random3.NextBytes(buffer3);

for (int i = 0; i < 8; i++)
{
    Console.WriteLine("{0}\t\t{1}\t\t{2}", buffer1[i], buffer2[i], buffer3[i]);
}
Run Code Online (Sandbox Code Playgroud)

输出:

26      70      26
12      208     12
70      134     76
111     130     111
93      64      93
117     151     115
228     228     228
216 …
Run Code Online (Sandbox Code Playgroud)

.net c# random integer

21
推荐指数
1
解决办法
953
查看次数

关于.NET继承/转换的一些我不明白的事情?

请参阅以下简单的转换示例:

int i = 1000;
object o = (object)i; // cast

i.CompareTo(1000);
o.CompareTo(1000); // error
Run Code Online (Sandbox Code Playgroud)

我理解为什么最后一行会产生错误.与int不同,对象不实现IComparable,因此不公开该CompareTo方法.以下还会生成错误:

string s = (string)i; // cast error
Run Code Online (Sandbox Code Playgroud)

由于ints和字符串之间没有继承,因此这里的转换不起作用.现在,看看这个:

AudioRender a = new AudioRender();
IBaseFilter b = (IBaseFilter)a; // cast

a.Run(1000); // error
b.Run(1000);
Run Code Online (Sandbox Code Playgroud)

(这些类来自DirectShowNet库.)

我不明白这一点.强制转换不会生成错误,并且在运行时不会抛出任何异常,因此我假设AudioRender实现了IBaseFilter.但是,AudioRender没有暴露任何IBaseFilter的方法,表明我的上述假设是错误的......

如果a实现b,为什么不a公开方法b
否则,如果a没有实施b,为什么可以a投入b
此外,我可以在不使用DirectShowNet的情况下重现此行为吗?

.net c# inheritance casting interface

18
推荐指数
3
解决办法
757
查看次数

如何与Visual Studio 2017一起安装LocalDB 2016?

安装Visual Studio 2017并检查SQL Server数据工具功能后,我注意到没有安装LocalDB.如何将SQL Server LocalDB 2016添加到Visual Studio 2017安装中?我在安装VS2017时错过了一个复选框,还是安装程序中没有包含它?如果是这样,我如何配置VS2017,以便在Visual Studio的服务器浏览器中查看和连接我手动安装的LocalDB数据库?

visual-studio localdb visual-studio-2017

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

最佳实践:XNA中的高效精灵绘图

在我的2D XNA游戏中绘制精灵的有效方法是什么?更具体地说,我把这个问题分成4个问题.


我过去常常声明Game1的spriteBatch 静态,SpriteBatch.Begin.Close在每个中调用IDrawable.Draw.这不太好用.给每个drawable它自己的SpriteBatch也不能很好地工作.

Q1:我认为最好有一个 SpriteBatch实例,只调用一次开始/关闭.它是否正确?


目前,我Game1.Draw看起来像这样:

spriteBatch.Begin();

base.Draw(gameTime); // draws elements of Game.Components

// ...

spriteBatch.End();
Run Code Online (Sandbox Code Playgroud)

Q2:这样,Begin只调用一次.这是要走的路吗?你们是怎么解决这个问题的?


问题3:此外,每个组件都有自己的IGameComponent.LoadContent方法.我应该在那里加载我的内容吗?或者在父类中加载内容是否更好Game1.LoadContent


我意识到我永远不应该加载相同的内容两次,所以我给了我的drawable组件静态和非静态组件Texture2D,并给了他们2个构造函数:

static Texture2D defaultTexture;
public Texture2D MyTexture;

public Enemy()
    : this(defaultTexture) { }

public Enemy(Texture2D texture)
{
    MyTexture = texture;
}

protected override void LoadContent()
{
    if (MyTexture == null)
    {
        if (defaultTexture == null)
        {
            defaultTexture = …
Run Code Online (Sandbox Code Playgroud)

c# xna drawing 2d sprite

13
推荐指数
1
解决办法
4334
查看次数

Chrome保存为PDF自定义文件名

在Chrome中,按Ctrl + P即可选择"保存到PDF".默认文件名等于用户要打印的html页面的标题.可以更改,而不更改HTML页面的实际标题?我希望在PDF的名称中有一个日期和时间,但我不希望在我的html页面的标题中显示日期和时间.

html pdf google-chrome title

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

为什么调用基类方法而不是派生类方法?

期待"来自派生的你好".但是得到"基地的你好".

class Program
{
    interface IBase
    {
        void Method();
    }

    public class Base: IBase
    {
        public virtual void Method()
        {
            Console.WriteLine("Hello from the base.");
        }
    }

    public class Derived : Base
    {
        public virtual new void Method()
        {
            Console.WriteLine("Hello from the derived.");
        }
    }

    static void Main(string[] args)
    {
        IBase x = new Derived();
        x.Method();
    }
}
Run Code Online (Sandbox Code Playgroud)

那么为什么不调用派生类的方法呢?更重要的是,如何在不将x转换为Derived类型的情况下调用派生类方法?

在我的实际应用中,IBase有几个其他相关方法,Derived只替换了IBase中的两个方法.

c# inheritance

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

如何阻止ASP.NET Web API隐式解释HTTP方法?

似乎ASP.NET隐式地解释了被命名的方法GetX以及分别PostX作为GET和POST方法,因为它们的名称以HTTP方法名称为前缀.对于PUT和DELETE也是如此.

我遗憾地命名了一个方法,Delete但我希望它被解释为POST,所以我使用该[HttpPost]属性明确指定它是一个POST .这是有效的,只要它没有在界面中声明...

public interface IFooBarController
{
    [HttpPost]
    void DoSomething();

    [HttpPost]
    void Delete(int id);
}

public class FooBarController : IFooBarController
{
    public void DoSomething()
    {
       // This API method can only be called using POST,
       // as you would expect from the interface.
    }

    public void Delete(int id)
    {
        // This API method can only be called using DELETE,
        // even though the interface specifies [HttpPost].
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何解决这个问题,而不必为每个实现指定HttpPostAttribute?

.net c# asp.net asp.net-mvc asp.net-web-api

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

如何将两个字母的国家/地区代码转换为标记表情符号?

我有ISO 3166-1 (alpha-2)国家代码,它们是两个字母的代码,例如“US”和“NL”。我如何获得相应的标志表情符号

编辑:最好我想在不使用国家代码与其相应表情符号之间的显式映射的情况下执行此操作。它已在 JavaScript 中完成,但我不确定如何在 C# 中完成。

.net c# unicode char emoji

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

C# - 有什么方法可以投射通用集合吗?

我一直忙于C#4.0泛型,现在我基本上想做这样的事情:

public abstract class GenericTree<T> : Tree
    where T : Fruit
{
    public Tree(IFruitCollection<T> fruits)
        : base(fruits) { }
}
Run Code Online (Sandbox Code Playgroud)

基本Tree类如下所示:

public abstract class Tree
{
    private IFruitCollection<Fruit> fruits;

    public IFruitCollection<Fruit> GetFruits
    {
        get { return fruits; }
    }

    public Tree(IFruitCollection<Fruit> fruits)
    {
        this.fruits = fruits;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的第一个问题.GenericTree的构造函数无法将泛型集合强制转换为水果集合.我也有GenericTree的实现:

public class AppleTree : GenericTree<Apple>
{
    public AppleTree()
        : base(new FruitCollection<Apple>) { }
}
Run Code Online (Sandbox Code Playgroud)

这是我的第二个问题.当我使用myAppleTree.GetFruits.Add(...)向AppleTree实例添加水果时,我不仅限于苹果.我被允许添加各种水果.我不想要这个.

我试图通过将其添加到GenericTree来解决该问题:

new public IFruitCollection<T> GetFruits
{
    get { return base.GetFruits as IFruitCollection<T>; }
}
Run Code Online (Sandbox Code Playgroud)

但这也是不可能的.它总是以null返回null.当我的第一个问题得到解决时,这可能会得到解决.

IFruitCollection接口如下所示: …

.net c# generics casting c#-4.0

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