如何将参数传递给带有特殊字符的 WCF Web 服务?
How to pass the parameters to WCF Web Service with special characters?
我正在使用 WCF 和 C#。
我必须将参数传递给具有特殊字符的 WCF Web 服务,例如-
Email-ram@gmail.com 和 Password-Test@123
传递参数时出现错误“404 Not Found”,如果传递的参数没有特殊字符,它可以正常工作。
工作
localhost:35798/RestServiceImpl.svc/LoginRequest/ram/Test123/1223
不工作
localhost:35798/RestServiceImpl.svc/LoginRequest/ram@gmail.com/Test@123/1223
可能吗?
/** Code for the same **/
[OperationContract]
[WebInvoke(
Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
UriTemplate = "LoginRequest/{Email}/{Password}/{APPUID}")]
string LoginRequest(string Email, string Password, string APPUID);
public string LoginRequest(string Email, string Password, string APPUID)
{
string strResult = "";
if (Password.Trim() != null && Password.Trim() != "" && Email.Trim() != null && Email.Trim() != "")
{
strResult = " Success.";
}
else
{
strResult = "User name and password are required.";
}
return strResult;
}
你应该通过Html encoding发送作为参数的部分:
var safeEmailParam = WebUtility.HtmlEncode(yourEMailParam);
查看下面的 CDATA link 希望对您有所帮助
我正在使用 WCF 和 C#。
我必须将参数传递给具有特殊字符的 WCF Web 服务,例如- Email-ram@gmail.com 和 Password-Test@123
传递参数时出现错误“404 Not Found”,如果传递的参数没有特殊字符,它可以正常工作。
工作
localhost:35798/RestServiceImpl.svc/LoginRequest/ram/Test123/1223
不工作
localhost:35798/RestServiceImpl.svc/LoginRequest/ram@gmail.com/Test@123/1223
可能吗?
/** Code for the same **/
[OperationContract]
[WebInvoke(
Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
UriTemplate = "LoginRequest/{Email}/{Password}/{APPUID}")]
string LoginRequest(string Email, string Password, string APPUID);
public string LoginRequest(string Email, string Password, string APPUID)
{
string strResult = "";
if (Password.Trim() != null && Password.Trim() != "" && Email.Trim() != null && Email.Trim() != "")
{
strResult = " Success.";
}
else
{
strResult = "User name and password are required.";
}
return strResult;
}
你应该通过Html encoding发送作为参数的部分:
var safeEmailParam = WebUtility.HtmlEncode(yourEMailParam);
查看下面的 CDATA link 希望对您有所帮助