首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PascalCasing上使用SignalR v2客户机-服务器方法?

如何在PascalCasing上使用SignalR v2客户机-服务器方法?
EN

Stack Overflow用户
提问于 2015-01-09 04:14:11
回答 1查看 183关注 0票数 0

我创建了一个简单的集线器:

代码语言:javascript
复制
public class MyHub : Hub
{
    public void Hello()
    {
        Clients.All.Hello();
    }
}

我想在客户端使用:

代码语言:javascript
复制
$.connection.myHub.server.Hello();

但是,在默认情况下,它创建如下:

代码语言:javascript
复制
$.connection.myHub.server.hello();

如何将其更改为使用PascalCase而不是camelCase?(最好是一切都是自动的)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-09 20:13:15

您可以使用HubMethodNameAttribute手动强制每个方法的大小写。

代码语言:javascript
复制
using Microsoft.AspNet.SignalR.Hubs;

public class MyHub : Hub
{
    [HubMethodName("Hello")]
    public void Hello()
    {
        Clients.All.Hello();
    }
}

如果你想在全球范围内做出这样的改变,那就不那么简单了。如果要这样做,可能需要实现自己的IMethodDescriptorProvider

您可能必须代理默认的ReflectedMethodDescriptorProvider,并将返回的MethodDesriptors的名称更改为PascalCase。如果您这样做,那么您可以将您的自定义IMethodDescriptorProvider注册到GlobalHost.DependencyResolver中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27853715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档