- ·上一篇内容:建站基础:什么是网站运营
- ·下一篇内容:程序不能正常卸载的解决方法
在C++中调用C#webservice的例子
本文给出了一个在C++中调用C# WEB Service的例子,如果有什么错误,请指出。
首先把c#的webservice给出来:
namespace SecurityWebService
{
public struct SecurityInfo
{
public string Code;
public string CompanyName;
public double Price;
}
public class Service1 : System.Web.Services.WebService
{
private SecurityInfo Security;
public Service1()
{
Security.Code = "";
Security.CompanyName = "";
Security.Price = 0;
}
private void AssignValues(string Code)
{
Security.Code = Code;
Security.CompanyName = Code + " Pty Ltd";
Random RandomNumber = new System.Random();
Security.Price = double.Parse(new System.Random(RandomNumber.Next(1,10)).NextDouble().ToString("##.##"));
}
[WebMethod(Description="dgdfgfdgdfgfdg",EnableSession=false)]
public SecurityInfo GetSecurityInfo(string Code)
{
AssignValues(Code);
SecurityInfo SecurityDetails = new SecurityInfo();
SecurityDetails.Code = Security.Code;
SecurityDetails.CompanyName = Security.CompanyName;
SecurityDetails.Price = Security.Price;
return SecurityDetails;
}
}
然后新建个vs.net项目,在该项目里添加上面的webservice,名字空间就默然为localhost.
然后在cpp文件中添加#include "localhost.h"; using namespace localhost;
最后可以在.h文件文件加上点击事件:
private: System::Void button1_Click(System::Object * sender, System::EventArgs * e)
{
localhost::Service1 * jj = new localhost::Service1;
localhost::SecurityInfo *cc = jj->GetSecurityInfo("111");
textBox1->Text = cc->Code;
textBox2->Text = cc->CompanyName;
textBox3->Text = Convert::ToString(cc->Price);
}
运行后会出现 请求因 HTTP 状态 401 失败:Access Denied 的错误。
最后我在iis信息服务器上把匿名访问和允许iis控制密码给勾上以后就好用了,究竟为什么,希望路过者给出建议?
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。