我创建了一个简单的集线器:
public class MyHub : Hub
{
public void Hello()
{
Clients.All.Hello();
}
}我想在客户端使用:
$.connection.myHub.server.Hello();但是,在默认情况下,它创建如下:
$.connection.myHub.server.hello();如何将其更改为使用PascalCase而不是camelCase?(最好是一切都是自动的)
发布于 2015-01-09 20:13:15
您可以使用HubMethodNameAttribute手动强制每个方法的大小写。
using Microsoft.AspNet.SignalR.Hubs;
public class MyHub : Hub
{
[HubMethodName("Hello")]
public void Hello()
{
Clients.All.Hello();
}
}如果你想在全球范围内做出这样的改变,那就不那么简单了。如果要这样做,可能需要实现自己的IMethodDescriptorProvider。
您可能必须代理默认的ReflectedMethodDescriptorProvider,并将返回的MethodDesriptors的名称更改为PascalCase。如果您这样做,那么您可以将您的自定义IMethodDescriptorProvider注册到GlobalHost.DependencyResolver中。
https://stackoverflow.com/questions/27853715
复制相似问题