在C++中调用C#webservice的例子

时间:2021-05-02

本文给出了一个在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://),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章