C# JsvServiceClient.get上的请求不正确,但JsvServiceClient.send上的请求不正确
运行ServiceStack 4.0.44时,我的测试客户端上有以下内容:C# JsvServiceClient.get上的请求不正确,但JsvServiceClient.send上的请求不正确,c#,
servicestack,C#,
servicestack,运行ServiceStack 4.0.44时,我的测试客户端上有以下内容: return client.Send(new GetVendor { VenCode = vencode }); 与我所拥有的相比 // return client.Get(new GetVendor { VenCode = vencode }); 然后在我拥有的服务器上 public class VendorsService : Service { public object Any(GetVendor
return client.Send(new GetVendor { VenCode = vencode });
与我所拥有的相比
// return client.Get(new GetVendor { VenCode = vencode });
然后在我拥有的服务器上
public class VendorsService : Service {
public object Any(GetVendor request) {
var vendor = Db.SingleWhere<Vendors>("VenCode", request.VenCode);
return vendor;
}
//public object Get(GetVendor request) {
// var vendor = Db.SingleWhere<Vendors>("VenCode", request.VenCode);
// return vendor;
//}
}
//[Route("/vendor/{VenCode}", "GET")]
[Route("/vendor/{VenCode}")]
public class GetVendor : IReturn<Vendors> {
public string VenCode { get; set; }
}
public class Vendors {
:
:
}
公共类供应商服务:服务{
任何公共对象(GetVendor请求){
var vendor=Db.SingleWhere(“VenCode”,request.VenCode);
退货供应商;
}
//公共对象获取(获取供应商请求){
//var vendor=Db.SingleWhere(“VenCode”,request.VenCode);
//退货供应商;
//}
}
//[路由(“/vendor/{VenCode}”,“GET”)]
[路线(“/vendor/{VenCode}”)]
公共类GetVendor:IReturn{
公共字符串代码{get;set;}
}
公共类供应商{
:
:
}
我的问题是,为什么当我通过VenCode的“B&T”时——我知道IIS正在解释&作为URL的一部分——为什么发送工作并返回供应商——但是Get会因为错误的请求而崩溃,除非我
<httpRuntime requestPathInvalidCharacters="" />
进入我的web.config
底线有什么区别?在不修改注册表等的情况下,如何使用所有html特殊字符实现CRUD例程?或者我需要以某种方式对它们进行URL编码吗?使用Get()
API使用QueryString
发送请求,这是requestPathInvalidCharacters验证的依据
当您使用Send()
时,您正在通过一个HTTP POST向DTO发送一个JSV序列化请求,该请求未经requestPathInvalidCharacters验证
除了使用Web.config之外,不太可能有任何方法禁用ASP.NET的默认行为,请注意,此验证在请求到达ServiceStack之前在ASP.NET中进行。使用Get()
API使用?QueryString
发送请求,这是requestPathInvalidCharacters验证的依据
当您使用Send()
时,您正在通过一个HTTP POST向DTO发送一个JSV序列化请求,该请求未经requestPathInvalidCharacters验证
除了使用Web.config之外,不太可能有任何方法禁用ASP.NET的默认行为,请注意,此验证在请求到达ServiceStack之前在ASP.NET中进行。非常感谢--非常有帮助--非常有帮助