我创建了一个简单的Hub:
public class MyHub : Hub
{
public void Hello()
{
Clients.All.Hello();
}
}
我想在客户端使用:
$.connection.myHub.server.Hello();
但默认情况下,它会创建为:
$.connection.myHub.server.hello();
如何更改它以使用PascalCase而不是camelCase? (最好自动适用于所有事情)
答案 0 :(得分:0)
您可以使用HubMethodNameAttribute手动强制每种方法的大小。
using Microsoft.AspNet.SignalR.Hubs;
public class MyHub : Hub
{
[HubMethodName("Hello")]
public void Hello()
{
Clients.All.Hello();
}
}
如果你想在全球范围内进行这种改变,那就不那么简单了。如果您想这样做,可能需要您实现自己的IMethodDescriptorProvider。
您可能需要代理默认的ReflectedMethodDescriptorProvider并将返回的MethodDesriptors的名称更改为PascalCase。如果您这样做,则可以使用GlobalHost.DependencyResolver注册自定义IMethodDescriptorProvider
。