我正在使用方法
创建WCF服务[OperationContract]
[WebGet(UriTemplate = "acl/f={fullFileName}")]
string GetACL(string fullFileName);
fullFileName是网络文件的完整路径,或主机上的文件。
主机是具有webHttpBinding和行为配置的Windows服务。 我想使用类似
之类的东西从浏览器中调用它http://localhost/webservice/acl/f=[my network path here]
我试过... / acl / f = file:// \ server \ share \ file.ext ... / ACL / F =文件:// C:\ file.ext
在浏览器中,我收到“未找到端点”。
我知道这是有效的,因为我可以调用... / acl / f = file.txt,我从我的服务中找回正确的响应,表明找不到该文件。因此,当我在URI中不使用anshort斜杠时,正确调用该方法。
对此的任何想法将不胜感激。
谢谢, beezlerco在hotmail ...
答案 0 :(得分:0)
您需要对斜线,冒号以及技术上的周期进行编码。
对于大多数其他特殊字符,请参阅http://www.asciitable.com/并使用'%'加上该表中的十六进制列。
答案 1 :(得分:0)
我相信HttpUtility.UrlEncode正是您所寻找的 (有关详细说明,请参阅Using HttpUtility.UrlEncode to Encode your QueryStrings)