如何在 SignalR v2 客户端-服务器方法上使用 PascalCasing?
How to use PascalCasing on SignalR v2 client-server methods?
我创建了一个简单的 Hub:
public class MyHub : Hub
{
public void Hello()
{
Clients.All.Hello();
}
}
我想在客户端使用:
$.connection.myHub.server.Hello();
但是默认情况下它创建为:
$.connection.myHub.server.hello();
如何将其更改为使用 PascalCase 而不是 camelCase? (最好自动执行所有操作)
您可以使用 HubMethodNameAttribute.
手动强制每个方法的大小写
using Microsoft.AspNet.SignalR.Hubs;
public class MyHub : Hub
{
[HubMethodName("Hello")]
public void Hello()
{
Clients.All.Hello();
}
}
如果你想在全球范围内进行这种改变,就没有那么简单了。如果您想这样做,可能需要您实现自己的 IMethodDescriptorProvider.
您可能必须代理默认 ReflectedMethodDescriptorProvider and change the names of the returned MethodDesriptors to be PascalCase. If you do this, you could then register your custom IMethodDescriptorProvider
with GlobalHost.DependencyResolver。
我创建了一个简单的 Hub:
public class MyHub : Hub
{
public void Hello()
{
Clients.All.Hello();
}
}
我想在客户端使用:
$.connection.myHub.server.Hello();
但是默认情况下它创建为:
$.connection.myHub.server.hello();
如何将其更改为使用 PascalCase 而不是 camelCase? (最好自动执行所有操作)
您可以使用 HubMethodNameAttribute.
手动强制每个方法的大小写using Microsoft.AspNet.SignalR.Hubs;
public class MyHub : Hub
{
[HubMethodName("Hello")]
public void Hello()
{
Clients.All.Hello();
}
}
如果你想在全球范围内进行这种改变,就没有那么简单了。如果您想这样做,可能需要您实现自己的 IMethodDescriptorProvider.
您可能必须代理默认 ReflectedMethodDescriptorProvider and change the names of the returned MethodDesriptors to be PascalCase. If you do this, you could then register your custom IMethodDescriptorProvider
with GlobalHost.DependencyResolver。