servicestack,C#,servicestack" /> servicestack,C#,servicestack" />

C# JsvServiceClient.get上的请求不正确,但JsvServiceClient.send上的请求不正确

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

运行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 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中进行。

非常感谢--非常有帮助--非常有帮助