网络服务-C#连接并登录betfair.com的网络服务(新手)
本文关键字:网络服务 新手 com betfair -C# 连接 登录 | 更新日期: 2023-09-27 17:59:27
我正在尝试连接到以下betfair.com web服务。https://api.betfair.com/global/v3/BFGlobalService.wsdl
基本上,我只想登录并在控制台窗口中显示这些信息。
我用PHP做了这件事,它很容易,但我是C#的新手,一开始就遇到了麻烦。
基本上,我想登录并在屏幕上显示从web服务接收到的会话令牌。
我在visualstudio.net 2010中添加了对解决方案的web服务引用。在PHP中,我们只需要向web服务发出一个请求,它就会将数据作为对象返回。但似乎在C#中,我必须打两个电话,请求和响应?这是对的吗?
对不起,我是c#的新手,但我看到了语言的巨大潜力,我真的需要一些关于如何继续的基本指导。
目前,我已经将web服务添加到我的解决方案中,为了登录和接收会话令牌,我必须做哪些最基本的事情。
有关Betfair Web服务的更多信息,请点击此处:
http://bdp.betfair.com/index.php?option=com_weblinks&catid=59&项目ID=113
我试着浏览了通过betfair提供的示例应用程序,但它们太复杂了,我只想用最简单的方法来使用Web服务并登录以检索会话令牌。
感谢
编辑
我在尝试这样的东西。
class Program
{
public static string username = "username";
public static string password = "password";
public static int softwareId = 82;
public static int productId = 0;
private static BFGlobalService m_globalService;
static void Main(string[] args)
{
m_globalService = new BFGlobalService();
}
static void Login()
{
LoginReq req = new LoginReq();
req.username = username;
req.password = password;
req.productId = productId;
req.vendorSoftwareId=softwareId;
LoginResp resp = m_globalService.login(req);
Console.WriteLine(resp.minorErrorCode);
Console.ReadKey();
}
}
但我是一个傻瓜,所以我甚至不知道这是否正确!!
任何帮助我摆脱困境的人都会很棒!!,再加上一个简单的解释,如果有什么复杂的话。
谢谢!!
EDIT:解决方案最后我不得不换掉这4行。
string st = resp.errorCode.ToString();
string sessTok = resp.header.sessionToken;
Console.WriteLine(st + " " + sessTok);
Console.ReadKey();
您可能想要下载此应用程序。http://forum.bdp.betfair.com/attachment.php?s=18f39758fa8c2e850b27cf2d524903ed&attachmentid=20&d=1235565908
它是Betfair在C#中的一个参考实现。
这是一个非常好的开始基础。它有登录、异步调用实现、不同市场的导航以及如何下注。我自己扩展了它,它真的非常好
您永远不会调用Login方法。试试这个:
static void Main(string[] args)
{
m_globalService = new BFGlobalService();
Login(); // calling your login method here...
}
另外:我不熟悉那个API,但我敢打赌,在创建BFGlobalService对象和调用其Login方法之间,您会错过一个初始化调用。
以下是一些使用C#的提示:
- 使用属性而不是公共变量
- 对web服务调用使用try/catch异常处理
- 在主功能中尽量不要做太多的工作。(我知道你才刚刚开始,但练习以正确的方式做事是很好的。)你应该有一个单独的类,Main实例化并调用它来启动你的web服务交互