PHP服务调用转换为C#
我收到了这个基于PHP的API,但我需要将它转换成C。这只是第一种方法,这是我的结果。 我似乎错过了很多。这个c#方法会像PHP方法那样工作吗 PHP: C#PHP服务调用转换为C#,c#,php,model-view-controller,service,C#,Php,Model View Controller,Service,我收到了这个基于PHP的API,但我需要将它转换成C。这只是第一种方法,这是我的结果。 我似乎错过了很多。这个c#方法会像PHP方法那样工作吗 PHP: C# 我可以假设getTextBetweenTags()方法列在其他地方吗?您需要为while循环添加一个条件。假设它是whilecounter谢谢,是的,getTextBetweenTags()方法是我需要从PHP更改为C的另一种方法。我已经更改了while循环,但我仍然觉得我编写的C#方法无法准确地生成用PHP编写的内容@Takaria假设
我可以假设
getTextBetweenTags()
方法列在其他地方吗?您需要为while循环添加一个条件。假设它是whilecounter谢谢,是的,getTextBetweenTags()
方法是我需要从PHP更改为C的另一种方法。我已经更改了while循环,但我仍然觉得我编写的C#方法无法准确地生成用PHP编写的内容@Takaria假设其他“缺失”变量在别处声明,我觉得没问题。
// Call SVP Service
function callSVPService($service, $arg, $raw_data = false) {
global $entry_point;
$count_attempts = 3;
$token_error_codes = array(2004, 2005, 2006);
$counter = 0;
// Make a attempts to call a SVP API service.
// With this we can automatically generate a new token if the token is empty,
// the token is not valid or the validation period of the token is expired.
while(true) {
$counter++;
$token_response = getToken();
// If token error occurs - exit calling service.
if($token_response['error_code']) {
return array('error_code' => $token_response['error_code'], 'response' => '');
}
$token = $token_response['token'];
$arg['token'] = $token;
$response = callSVP_API_Service($service, $arg);
$result = getTextBetweenTags($response, 'result', true);
if(!$result) {
if(!$raw_data) {
return array('error_code' => -1, 'response' => $response);
}
else if(!$response) {
return array('error_code' => -1, 'response' => 'Empty server response');
}
else {
$error_code = 0;
}
}
else if($result == 'ERROR') {
$error_code = getTextBetweenTags($response, 'code', true);
}
else if($result == 'OK') {
$error_code = 0;
}
if(!$error_code) {
return array('error_code' => 0, 'response' => $response);
}
else if(in_array($error_code, $token_error_codes)) {
// The service response contains a token error. Try to generate a new token.
saveToken(0);
}
if($counter >= $count_attempts) {
return array('error_code' => $error_code, 'response' => $response);
}
}
}
public dynamic callSVPService(dynamic service, dynamic arg, dynamic raw_data)
{
var countAttempt = 3;
int[] tokenErrorCodes;
tokenErrorCodes = new int[2004];
tokenErrorCodes = new int[2005];
tokenErrorCodes = new int[2006];
var counter = 0;
while (true)
{
counter++;
var tokenResponse = getToken();
var token = tokenResponse["token"];
var response = callSVPAPIService(service, arg);
var result = getTextBetweenTags(response, "result", true);
return result;
}
}