小编Jea*_*erc的帖子

为什么Symfony2在基准测试中表现如此糟糕?这有关系吗?

我和我的同事正在选择一个Web框架来开发一个高流量的网站.我们真的很擅长node.js + expressphp + symfony2.两者都是伟大的框架,但我们有点担心Symfony2的,因为它似乎被大多数web框架跑赢那里.

以下是证明它的基准:http: //www.techempower.com/benchmarks/

出于这个原因,我们可能会使用的node.js +表达,但我仍然不知道为什么Symfony2的在基准执行如此糟糕.

benchmarking symfony web

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

编译一些简单的c ++代码时出错

我尝试在osx lion上编译这个cpp代码,但是我收到了一个错误.

#include <iostream> 

using namespace std; 

int main (int argc, char *argv[]) 
{ 
    for(int i = 0; i < 10; i++) 
    { 
        cout << "hi"; 
        cout << endl; 
    } 

    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

编译:

cc main.cpp
Run Code Online (Sandbox Code Playgroud)

错误:

Undefined symbols for architecture x86_64:
  "std::cout", referenced from:
      _main in ccBdbc76.o
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
      _main in ccBdbc76.o
  "std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)", referenced from:
      _main in ccBdbc76.o
  "std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> …
Run Code Online (Sandbox Code Playgroud)

c++ macos linker-errors

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

XPathSelectElement始终返回null

为什么这个Xpath无法使用XDocument.XPathSelectElement?

Xpath的:

//Plugin/UI[1]/PluginPageCategory[1]/Page[1]/Group[1]/CommandRef[2]
Run Code Online (Sandbox Code Playgroud)

XML

<Plugin xmlns="http://www.MyNamespace.ca/MyPath">
  <UI>
    <PluginPageCategory>
      <Page>
        <Group>
          <CommandRef>
            <Images>
            </Images>
          </CommandRef>
          <CommandRef>
            <Images>
            </Images>
          </CommandRef>
        </Group>
      </Page>
    </PluginPageCategory>
  </UI>
</Plugin>
Run Code Online (Sandbox Code Playgroud)

C#代码:

myXDocument.XPathSelectElement("//Plugin/UI[1]/PluginPageCategory[1]/Page[1]/Group[1]/CommandRef[2]", myXDocument.Root.CreateNavigator());
Run Code Online (Sandbox Code Playgroud)

c# xml xpath

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

行动代表.如何获取调用该方法的实例

我有一个Action,我想知道如何访问调用该方法的实例.

例:

this.FindInstance(() => this.InstanceOfAClass.Method());
this.FindInstance(() => this.InstanceOfAClass2.Method());
this.FindInstance(() => this.InstanceOfAClass3.Method());



    public void FindInstance(Action action)
    {
        // The action is this.InstanceOfAClass.Method(); and I want to get the "Instance"
        // from "action"
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

c# delegates action

10
推荐指数
1
解决办法
6096
查看次数

将WCF属性应用于服务中的所有方法

我有一个自定义属性,我想应用于我的WCF服务中的每个方法.

我这样做:

[MyAttribute]
void MyMethod()
{

}
Run Code Online (Sandbox Code Playgroud)

问题是我的服务包含数百种方法,我不想在所有方法之上编写[Attribute].有没有办法将属性应用于我的服务中的所有方法?

这是我的属性的签名:

//[AttributeUsage(AttributeTargets.Class)]
public class SendReceiveBehaviorAttribute : Attribute, /*IServiceBehavior,*/ IOperationBehavior
Run Code Online (Sandbox Code Playgroud)

在Aliostad回答之后编辑:

我试过这个:

public void ApplyDispatchBehavior(ServiceDescription desc, ServiceHostBase host)
{
    foreach (ChannelDispatcher cDispatcher in host.ChannelDispatchers)
    {
        foreach (EndpointDispatcher eDispatcher in cDispatcher.Endpoints)
        {
            foreach (DispatchOperation op in eDispatcher.DispatchRuntime.Operations)
            {
                op.Invoker = new OperationInvoker(op.Invoker);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后:

public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection<ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters)
{
    foreach (ChannelDispatcher cDispatcher in serviceHostBase.ChannelDispatchers)
    {
        foreach (EndpointDispatcher eDispatcher in cDispatcher.Endpoints)
        {
            foreach (DispatchOperation op in …
Run Code Online (Sandbox Code Playgroud)

c# wcf attributes

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

如何捕获Request上的错误,然后打开一个模态,然后在modal用RxJS关闭时重试

我想调用可以使用Angular2的HTTP类返回授权失败(401)的服务器.

请求的流程应如下所示:

  • 用户使用myService.getSomething()向服务器发出请求.subsled()
  • 如果服务器返回401:打开一个模态窗口,询问用户的凭据.
  • 用户成功登录到应用程序
  • 模态关闭并执行回调
  • 回调应该重试初始请求(myService.getSomething().subscribe())

这就是我现在所拥有的:

export class MyService {
    // ...
    public getSomething(): Observable<Response> {
        return this.http.get(url, options).catch((res: any, ob: any) => this.errorHandler(res, ob));
    }

    public errorHandler(res: Response, ob: Observable<any>): Observable<Response> {
        if (res.status === 401) {
            this.modalService.open(new ModalConfig({
                content: LoginModalComponent,
                close: () => { ob.retry(1); console.log("weow") } // <=close is the callback that should initiate the retry action on the initial request.
            }));
        }
        else {
            return Observable.throw(res.json());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

doSomething()的用法如下: doSomething().map((r) => r.json()).subscribe((r) => …

javascript rxjs typescript rxjs5 angular

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

使用Protobuf-net和Monotouch for IOS序列化IEnumerable槽WCF

我正在尝试在Monotouch/Monodevelop上为IOS编写WCF服务.我使用[DataMember]/[DataContract]等标准属性作为我的可序列化对象,使用[ServiceContract]/[OperationContract]作为我的界面.一切正常,但是当我尝试在接口实现(服务器端)上实现返回IEnumerable的方法时,它没有用.

所以为了解决我的问题,我尝试使用最新版本的protobuf-net protobuf-net v2 beta r404.但我仍然从Protobuf-net收到序列化错误.请注意,"MyObject"中的IEnumerable序列化没有问题.

以下是我的代码现在的样子:

为MyObject:

[ProtoContract]
public class MyObject
{
    public MyObject ()
    {
    }

    [ProtoMember(1)]
    public int Id {get;set;}

    [ProtoMember(2)]
    public IEnumerable<MyObject> myObjects {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我的界面(Windows上的服务器端):

[ServiceContract]
public interface ITouchService
{
        [OperationContract, ProtoBehavior]
        MyObject Execute();

    [OperationContract, ProtoBehavior]
    IEnumerable<MyObject> ExecuteENUM ();
}
Run Code Online (Sandbox Code Playgroud)

我的界面(IOS上的客户端,我无法添加ProtoBehavior作为属性,因为它不在protobuf的ISO dll中):

[ServiceContract]
public interface ITouchService
{
    [OperationContract]
    MyObject Execute();

    [OperationContract]
    IEnumerable<MyObject> ExecuteENUM ();
}
Run Code Online (Sandbox Code Playgroud)

我的界面实现:

public class TouchService : ITouchService
    {
        public MyObject Execute()
        {
            var myObject = new MyObject() { Id = 9001 …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable wcf serializer protobuf-net

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

在PHP中包含文件的最佳方法?

我目前正在开发一个PHP Web应用程序,我想知道包含文件(include_once)的最佳方式是什么,它仍然是可维护的代码.通过maintanable我的意思是,如果我想移动一个文件,重构我的应用程序以使其正常工作是很容易的.

我有很多文件,因为我尝试了很好的OOP实践(一个类=一个文件).

这是我的应用程序的典型类结构:

namespace Controls
{
use Drawing\Color;

include_once '/../Control.php';

class GridView extends Control
{
    public $evenRowColor;

    public $oddRowColor;

    public function __construct()
    {
    }

    public function draw()
    {
    }

    protected function generateStyle()
    {
    }

    private function drawColumns()
    {
    }
}
}
Run Code Online (Sandbox Code Playgroud)

php include-path

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

使用 IParameterInspector.BeforeCall(string operationName, object[] input) 中止调用

我有一个自定义行为,其中我实现“IParameterInspector”以便能够使用 BeforeCall 和 AfterCall。我目前正在使用这些方法在 WCF 服务上执行调用之前进行一些验证。

这是我的属性:

[AttributeUsage(AttributeTargets.Class)]
public class SendReceiveBehaviorAttribute : Attribute, IServiceBehavior
{
    public SendReceiveBehaviorAttribute()
    {
    }

    public void ApplyDispatchBehavior(ServiceDescription desc, ServiceHostBase host)
    {
        foreach (ChannelDispatcher cDispatcher in host.ChannelDispatchers)
        {
            foreach (EndpointDispatcher eDispatcher in cDispatcher.Endpoints)
            {
                foreach (DispatchOperation op in eDispatcher.DispatchRuntime.Operations)
                {
                    op.ParameterInspectors.Add(MyInspector);
                }
            }
        }
    }

    public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection<ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters)
    {
    }

    public void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

还有我的督察:

internal class MyInspector: IParameterInspector
{
    public void AfterCall(string operationName, …
Run Code Online (Sandbox Code Playgroud)

c# wcf behavior inspector

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

如何从WCF DatacontractSerializer正确迁移到Protobuf-net?

我们有很多类的庞大应用程序.我们目前正在使用Monotouch将此.net应用程序移植到IPad.我们在使用DataContractSerializer时遇到了一些问题,我们想使用Marc Gravell的protobuf-net序列化器.

客户端和服务器之间的通信由WCF服务管理.

WCF服务由暴露给客户端和服务器的一个接口以及服务器上此接口的一个实现组成.

界面看起来像这样:

[ServiceContract]
public interface IMyService
{
    [OperationContract]
    SomeObject MyFunction(SomeObject myObject);
}
Run Code Online (Sandbox Code Playgroud)

服务器端实现看起来像这样:

[ServiceBehavior(...)]
public class MyService
{
    public SomeObject MyFunction(SomeObject myObject)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我们的课程看起来像这样:

[DataContract]
public class MyClass
{
    [DataMember]
    public int SomeProp {get; set;}

    [OnSerialized]
    public void OnSerialized(StreamingContext context)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

所以这是我的问题:

  • 对我的类,wcf接口和wcf实现做什么改动.

  • 如何将默认WCF DataContractSerializer替换为Protobuf Serializer.

请注意,在monotouch上,我只能访问ProtobufProtobuf.Meta命名空间.

[编辑] 我找到了一种交换序列化器运行时的方法: 自定义WCF DataContractSerializer

上述解决方案使用DataContractSerializerOperationBehavior.Protobuf-net是否提供此类行为?

c# wcf serialization protobuf-net

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