我有一个HttpContext.Request对象,该对象的Form数据有误,我想对其进行修复,并以正确的方式发送正确的HttpContext。HttpContext.Request.Form是只读的,但是如果不是,则只需执行以下操作即可;HttpContext.Request.Form [“ a”] =“ a的正确值”;
因此,在管道中执行此操作的最佳位置在哪里。是否可以通过反射访问HttpContext.Request.Form写操作?
我得到空的Json结果或双json结果,我不知道为什么呢?
基线:http : //learn.knockoutjs.com/mail? folder=Inbox在chrome F12中看起来像这样:{"id":"收件箱","邮件":[{"id":1,.... ..}
我的行动:
public ActionResult Mail()
{
string qs = "";
foreach (var q in Request.QueryString)
{
qs += string.Format("{0}={1}&", q, Request.QueryString[q.ToString()]);
}
var proxyRequest = "http://learn.knockoutjs.com/mail?" + qs;
var request = WebRequest.Create(proxyRequest);
var response = (HttpWebResponse)request.GetResponse();
var reader = new StreamReader(response.GetResponseStream());
var str = reader.ReadToEnd();
var data = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(str);
//var json = JsonConvert.SerializeObject(data);
// Text Visualization looks good {"id":"Inbox","mails":[{"id":1,"from":"Abb....}
// no outside quotes, no escaped quotes
var res = Json(data, JsonRequestBehavior.AllowGet);
return res; …Run Code Online (Sandbox Code Playgroud) 这是一个可以开始的工作示例:
package main
type (
builder struct{}
ISomething interface {
DoSomething()
}
IMyStruct interface {
MySomething()
}
myStruct struct {
Num int
Something ISomething
}
Something struct{}
)
func AddSingleton[T any](b *builder, ctor any) {}
func (m *myStruct) MySomething() {}
func (s *Something) DoSomething() {}
func main() {
var something ISomething = &Something{}
b := &builder{}
for i := 0; i < 2; i++ {
AddMyStruct(b, something, i)
}
}
func AddMyStruct(b *builder, something ISomething, num int) {
AddSingleton[*myStruct](b, func(something …Run Code Online (Sandbox Code Playgroud)