c# – 具有多个参数的SignalR客户端
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 具有多个参数的SignalR客户端,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1516字,纯文字阅读大概需要3分钟。
内容图文
我是stackoverflow的新手,多年来一直是潜伏者,对我作为开发人员的帮助很大.非常感谢.
在第一篇文章和问题结束我的介绍:
场景:
我正在使用SignalR.
我有一个SignalR服务器,它向所有具有6个参数的客户端广播消息.
当我在Web客户端(MVC)中实现它时它工作正常,我可以获得所有这6个参数.
我尝试在Xamarin中实现它.
以下是示例代理段:
proxy.On<string, string, string , string, string, string>("test", (test1, test2, test3, test4, test5, test6) =>
{
MyActivity.RunOnUiThread(() =>
{
//my method here
});
});
当我有6个参数时,我会收到此错误:
‘IHubProxy’不包含’On’的定义,并且没有扩展方法’On’可以找到接受类型’IHubProxy’的第一个参数(你是否缺少using指令或汇编引用?)
但是当我将参数更改为4时
proxy.On<string, string, string , string>("test", (test1, test2, test3, test4) =>
{
MyActivity.RunOnUiThread(() =>
{
//my method here
});
});
我不会得到错误,我将能够获得这4个参数.但在我的应用程序中,我需要获得所有这6个参数.
为什么每当我有超过4个参数时我都会收到此错误?
我错过了什么吗?
谢谢!
最佳答案:
这只是SignalR .NET客户端代理的限制.它接触开发者有点懒于重写On方法以支持更多Type参数,或者他们只是认为如果你有更多参数,你应该将它们分组在一个类中.
解决方案非常简单,创建一个包含所需数量的类而不是使用参数.就像是:
public class AllParams
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get; set; }
public string Prop4 { get; set; }
public string Prop5 { get; set; }
public string PropN { get; set; }
}
proxy.On<AllParams>("test", all =>
{
MyActivity.RunOnUiThread(() =>
{
// all.Prop1, all.Prop2, etc...
});
});
这甚至可以提高您的代码可读性
内容总结
以上是互联网集市为您收集整理的c# – 具有多个参数的SignalR客户端全部内容,希望文章能够帮你解决c# – 具有多个参数的SignalR客户端所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。