从 mfc 应用程序中点击 webservice 并希望从 webservice 登录方法读取用户代码返回

Posted

技术标签:

【中文标题】从 mfc 应用程序中点击 webservice 并希望从 webservice 登录方法读取用户代码返回【英文标题】:Hit webservice from mfc application and want to read user code return from webservice login method 【发布时间】:2014-01-16 07:47:58 【问题描述】:

我正在使用 MFC 应用程序,但我不了解 MFC,因为我是 Donet 网络开发人员。

我正在尝试使用 C# 编码的 Web 服务。Web 服务具有登录方法。当我从 MFC 应用程序中点击它时,它运行良好。检查用户名和密码登录方法后返回用户代码。我想在 MFC 应用程序中读取此用户代码。

我的 MFC 代码在这里

 CString clsLogin::login(CString username ,CString password)
     

CString a1;
    a1.Format("%02X",""); szJson.Replace("byte1str", a1);
    a1.Format("%02X",""); szJson.Replace("byte2str", a1);
    a1.Format("%02X",""); szJson.Replace("byte3str", a1);
    a1.Format("%02X",""); szJson.Replace("byte4str", a1);
    a1.Format("%s",username);szJson.Replace("name1", a1);
    a1.Format("%s",password);szJson.Replace("pass1", a1);

curlcode = CURLE_OK;

char *posturi  = "myurl";
CURL *curl     = NULL;

curl = curl_easy_init();

 if(curl) 

   curl_easy_setopt(curl, CURLOPT_URL,              posturi);
   curl_easy_setopt(curl, CURLOPT_POSTFIELDS,       szJson);
   curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE,    strlen(szJson));

   curlcode = curl_easy_perform(curl);


   curl_easy_cleanup(curl);
 else 
    curlcode = CURLE_FAILED_INIT;



 return 0 ;

请帮帮我

我应该在这个函数中添加什么来从 webservice 方法获取返回值

C#代码在这里

  [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
    public string CheckLogin(string data)
    

//命令到数据库检查用户名和密码

        return usercode;
    

【问题讨论】:

能否请您粘贴您的 C# 代码,这样更有助于理解问题? 我已经添加了请看一下 如果我没记错的话,您想使用c# 中使用的数据库代码为MFC 运行吗? 是的,我正在使用数据库查询来检查 c# 方法中的用户,方法只是从 c# 返回用户代码,我想在 MFC 应用程序中获取此代码来检查用户。 那你为什么不试试CLRCommon Language Runtime 功能。只需在 MFC 应用程序中使用 C# 库即可。 【参考方案1】:

最好使用 CLRCommon Language Runtime Visual Studio 的功能。

步骤如下:

    更改应用程序设置以支持CLR 转到*项目 -> 属性 -> 配置属性 -> 常规 -> 公共语言运行时支持 -> 更改为“公共语言运行时支持 (/clr)” *

    在应用程序中添加您想要的任何库的引用。 转到:项目->属性->通用属性->添加新引用 将引用添加为“System.Web.Mvc”和“System.IO”

    在标题中添加以下代码:

    using <System.dll> using namespace System; using namespace System::Web::Mvc;

    将 C# 代码用于数据库。

如需进一步参考,请使用以下链接: 1.Use of HttepVerbs

希望对你有帮助

【讨论】:

感谢您的帮助。你能告诉任何带有 curl 代码的选项吗 这个答案对您有帮助吗? 如果我使用 CLR,那么我必须为登录过程制作 dll,然后我会将这个 dll 添加到项目中以供使用。我说的对吗? 不,事实并非如此。 See this Link Where I have used library in C# in my MFC Code

以上是关于从 mfc 应用程序中点击 webservice 并希望从 webservice 登录方法读取用户代码返回的主要内容,如果未能解决你的问题,请参考以下文章

在 MFC 中处理耗时的操作

MFC C++ 从 WM_KEYDOWN 处理程序获取在 OnDraw() 中编辑的 CDC pDC 的句柄

如何添加webservice的引用,并发布到服务器上

vs2010怎么添加webservice

VC++、MFC开发中如何通过鼠标点击控制列表选择一行

MFC中如何给编辑框设置文本内容?