none
context.Context.Request.InputStream 可以写入吗? RRS feed

  • 问题

  • 公司有基于WCF 框架写的一个程序与终端交互。

    但是boss要求在过滤终端post提交过来的内容,还指定要用HttpModule来实现!

    在context.Context.Request.InputStream获得终端POST提交过来的json数组,我想过滤。可以我一读取Inputstream内容并操作之后。

    服务端的方法也不走了,终端得到的结果,就是没有响应!

    我看到了InputStream提供了Write方法。但是一走到这行代码就报错,我用reflector看了HttpInputStream这个内部类提供的Write方法的内部直接扔出一个

    public override void Write(byte[] buffer, int offset, int count)
    {
        throw new NotSupportedException();
    }
    


    但是我有看到了这个内部类又有一个内部方法

    internal void WriteTo(Stream s)
    {
        if ((this._data != null) && (this._length > 0))
        {
            this._data.WriteBytes(this._offset, this._length, s);
        }
    }
    
    
    


    所以我想可不可以这个内部方法做手脚,利用反射的方式。重新将我修改后的流写入到InputStream中!

    但是研究了好几天都没有找到办法!所以找大家帮帮忙啊!

    2013年7月10日 3:43

全部回复