帐前卒专栏

code, software architect, articles and novels.
代码,软件架构,博客和小说

8、取远程用户IP地址
String user_IP=Request.ServerVariables[“REMOTE_ADDR”].ToString();

9、穿过代理服务器取远程用户真实IP地址:
if(Request.ServerVariables[“HTTP_VIA”]!=null)

{
string user_IP=Request.ServerVariables[“HTTP_X_FORWARDED_FOR”].ToString();
}

else

{
string user_IP=Request.ServerVariables[“REMOTE_ADDR”].ToString();
}

原因:一个类A使用了另一个类B的对象。但是类B的类型不是public,也不是内部类。

于是引发此编译错误

C# 语言参考

ref(C# 参考)

** ref ** 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ** ref ** 参数,则方法定义和调用方法都必须显式使用 ** ref ** 关键字。例如:

[
复制代码 ](javascript:CopyCode(‘ctl00_LibFrame_ctl06other’)😉

class RefExample
{
    static void Method(ref int i)
    {
        i = 44;
    }
    static void Main()
    {
        int val = 0;
        Method(ref val);
        // val is now 44
    }
}

传递到 ** ref ** 参数的参数必须最先初始化。这与 out 不同,out 的参数在传递之前不需要显式初始化。(请参见 out
。)

尽管 ** ref ** 和 ** out ** 在运行时的处理方式不同,但它们在编译时的处理方式是相同的。因此,如果一个方法采用 ** ref **
参数,而另一个方法采用 [ out ](http://msdn2.microsoft.com/zh-
cn/library/t3c3bfhx(VS.80).aspx)
参数,则无法重载这两个方法。例如,从编译的角度来看,以下代码中的两个方法是完全相同的,因此将不会编译以下代码:

[
复制代码 ](javascript:CopyCode(‘ctl00_LibFrame_ctl09other’)😉

class CS0663_Example 
{
    // compiler error CS0663: "cannot define overloaded 
    // methods that differ only on ref and out"
    public void SampleMethod(ref int i) {  }
    public void SampleMethod(out int i) {  }
}

但是,如果一个方法采用 ** ref ** 或 [ out ](http://msdn2.microsoft.com/zh-
cn/library/t3c3bfhx(VS.80).aspx) 参数,而另一个方法不采用这两类参数,则可以进行重载,如下所示:

[
复制代码 ](javascript:CopyCode(‘ctl00_LibFrame_ctl11other’)😉

class RefOutOverloadExample
{
    public void SampleMethod(int i) {  }
    public void SampleMethod(ref int i) {  }
}

[ ![备注](http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-
us/minus.gif) 备注 ](http://msdn2.microsoft.com/zh-
cn/library/14akc2c7(VS.80).aspx#)
属性不是变量,因此不能作为 ** ref ** 参数传递。

有关传递数组的信息,请参见

[ 使用 ref 和 out 传递数组 ](http://msdn2.microsoft.com/zh-
cn/library/szasx730(VS.80).aspx) 。

[ ![示例](http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-
us/minus.gif) 示例 ](http://msdn2.microsoft.com/zh-
cn/library/14akc2c7(VS.80).aspx#)
按引用传递值类型(如上所示)是有用的,但是 ** ref **
对于传递引用类型也是很有用的。这允许被调用的方法修改该引用所引用的对象,因为引用本身是按引用来传递的。下面的示例显示出当引用类型作为 ** ref **
参数传递时,可以更改对象本身。

class RefRefExample
{
    static void Method(ref string s)
    {
        s = "changed";
    }
    static void Main()
    {
        string str = "original";
        Method(ref str);
        // str is now "changed"
    }
}

[
复制代码 ](javascript:CopyCode(‘ctl00_LibFrame_ctl15other’)😉

可以将图片集上传到数据库了。

采用了C-
S模式,Server使用的是多线程循环服务器。没有考虑效率,下次改进准备使用线程池机制。上传图片时使用每发一次数据断开一次链接,下次要做不断开链接的。

图片对比使用的是逐点对比,速度较慢,准备改进。使用索引对比法。准备添加掩码机制。

又过了CET6,比上次高了20多分。准备大四下学期再考一次。

今天终于拿到了自己的microsoft email,哈哈,兴奋之余,向工作组里的人群发了份email

现在终于做完了Client端,因为网页中上传整个文件夹有些问题。使用Javascript会被认为是不安全脚本,导师也不建议使用ActiveX控件。说实话,我
也不想做Activex控件。于是做了Client-Server小工具。在本地通过Client将图片数据全部导入到远端数据库中。

明天的工作好像就要实现一个Server了。

今天搞定的东西还满多:

图片序列化、反序列化,图片比较,Client端实现

到了工程院快一个星期了,终于有了自己的账号。。。。

现在还没有磁卡,没有自己的邮箱。。。等待中。。。

这两天做图片导入导出数据库。。。 发现还要考虑文件格式和是否要进行压缩。

首次接触图片处理的工作。。。。于是自己做很多demo…

我感觉真的不能再用数字对我在ATC实习的天数进行编码了。否则还不要编一百多天?

今天上午导师给我安排了一个自动化工具的任务。时间和我将要走的时间差不错。 还算合理。

准备在他的工具基础上再做一个visual diff的辅助工具。使用C#。。。。

不过之前对C#没有太多了解。还以为自己是SDET就可以只写TestCase呢。结果去做了自动化测试工具。自己一个人完成,又没有太多的底气了。

然后导师让Anny给我演示了一下这个项目的demo.结果:和可惜没有什么完整的演示,而且又被我找到一个bug。不过还是谢过Anny。我也不知道这个名字写对了
没有。反正在她的指引下,又开了一个会议。而且还跟着导师吃了顿免费的比萨。

下午写了些需求,然后又发现些新的问题。正要问导师,结果又被拉着去开了测试组的会议。现在写写blog,等着李蕤请客中…

1.setup J2Me, Sun WTK 2.2 & 2.5 ,EclipseMe and configure all.

2.setup windows SDK for vista

3.look at some docs about Test Design Docs except some docs which can be
opened by outlook.

安装了环境,但是还没有看项目代码。看了些文档。

最近要养成习惯:每天都喝冰红茶,有空喝喝咖啡。

昨天看了导师开发的工具jame,感觉不错。自己对自动化测试又有了新的了解。

不过测试的时候还是要分清楚到底是用自动化测试还是使用手工测试。有些action不能使用自动化测试工具的。至少jame不能这样使用。

但是现在还是没有自己的账户。还是不知道干些什么。

昨天到达北京。乘坐出租车,结果很令我失望,根本没有什么GPS系统。 洲洋宾馆也是难找。根本不知道在哪里。最后司机问来问去终于找到。

微软安排实习生也特别有意思。最好不要在暑假实习。因为要和别人挤在一起,很是郁闷。昨天幸好在车上就让别人安排好了住宿的地方。否则就真的露宿街头了。

还有很重要的一点:一定要记得与你联系的人事部的电话。否则后果自负。

第二天找了很久重要找到早餐的卖点。否则又会挨饿。

到后签约签了很久,到了自己位置上竟然发现没有电脑。于是lisa很着急的去找IT部的人去了。于是又在等导师,我从十点等到十二点导师才从会议室出来。于是一上午就
over了。

下午等到三点终于有了自己的电脑。结果没有自己的account…于是自己又在无聊中度过…

一天恐怕就这样结束了。。

今天回家了。。呵呵

还是家里的床好。。。

0%