在 li168 IAP 平台中新增一个皮肤模式

如:加入一个名为“abc”的皮肤模式

步骤:

1 在 Zippy.XWeb.Mode.SkinModes 中加入一条abc的记录。

2 修改 XAdmin 中的 StyleEditor.aspx.cs ,加入 abc 的 HTML 代码(client 和 lrc 都有)。

3 在资源中心 lrc 的 XRender 下的 SkinHtml.aspx 中加入  abc 的 HTML 代码。

完成!

评论 阅读...

Hello F#

F# 能用来干什么?我目前还不知道。

我知道:

F# 可能是解释的,函数的,ASP的,简短的。

按照以往的经验,学会了 Hello world. 我便入手了一门新语言。于是,我开始入手F#了。

——————————————-

VS2010中,新建 F# 控制台项目。

输入:System.Console.WriteLine(“Hello F#!”)

搞定!

原来,F#可以调用 .NET 的内裤啊。哦呵呵。

不够裤?那么就用:printfn “Hello F#!”

运行的时候可以把黑色屏幕停住,那就:

let xwait = System.Console.ReadLine()

唉,感觉回到了10几年前。

老了,年轻了? 谢谢!

(XXX的,wp为啥要这么高级,把俺的双引号全部变成全角的?)


Godaddy domain API development problems.

These are my steps:

1. I opened control panel, download the api documents.

2. I developed my application using web service in vs2010 .

3. I deployed the application at http://api1.li168.com/Home (IP is 118.142.72.178).

4. 118.142.72.178 is added to the “IP Address Configuration”.

5. Access is failed. What is the correct api account?   461938 or liwill? I tested both. 

 

 

The followings are my develop steps:

1、Add web reference.

2. My method

public ActionResult Check2(string dm, string un, string pwd)
{

    Response.ContentType = "text/xml";

    Web.com.wildwestdomains.ote.api.WAPI api = new Web.com.wildwestdomains.ote.api.WAPI();
    Web.com.wildwestdomains.ote.api.Credential cre = new Web.com.wildwestdomains.ote.api.Credential();
    cre.Account = un;
    cre.Password = pwd;

    string res = api.CheckAvailability(Guid.NewGuid().ToString(), cre,
        new string[] { dm }, null, null);

    return Content(res);

}

3. Use this url to test the method:
http://api1.li168.com/Home

4. it does not work………..  :(

评论 阅读...

SWFUpload隐藏/显示之后失效

把 swfupload 放在层里,需要上传文件的时候显示出来,关闭之后,再打开,发现上传不了了。

原因是:flash在被隐藏再显示后丢失了swfupload的信息,如序列中的文件和设置。

解决方法:

卸载,重新加载 swfupload 。

卸载的方法:

        function swfu_destroy_all() {
            var object = SWFUpload.instances;

            for (var key in object) {
                object[key].destroy();
            }
        }

使用Linq遍历文件

Framework 4 中,有新的方法加入了。分别是:

Directory.EnumerateFiles
Directory.EnumerateDirectories

拿这俩东东,用Linq的方式遍历文件,简直爽死了。

下面是我在 IAP 中用到的代码:


string path = "/xskins/" + _user.UserName + "/" + mode + "/" + skin;
path = MapPath(path);
Session["currentSkinPath"] = path;

var files = from file in
                System.IO.Directory.EnumerateFiles(path)
            orderby System.IO.Path.GetExtension(file)
            select file;

System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("
    "); foreach (var file in files) { sb.Append("
  • "); sb.Append(System.IO.Path.GetFileName(file)); sb.Append("
  • "); } sb.Append("
"); WriteAjax(sb.ToString());

管理 ASP.NET 中的语言和资源

一般的做法是:使用资源文件。

.net 的 resx 文件是一个很好的办法。但在开发中碰到问题:

  1. 如果资源经常需要修改,如何编译?
  2. A用户把 coustomer 翻译为“客户”,B用户却翻译为“供应商”,如何解决矛盾?

 

我用下面的办法来解决问题:

  1. 自己构造数据结构 “KV”,包含以下字段:key, value, lang。
  2. 有一个系统集合提供所有的默认语言资源。
  3. 每个用户也有自己的语言集合。

 

如此,我们只需要“拼命”增加语言,如 zh,en,zh-tw 就行。翻译不完整的,建议客户自己去翻译。

在励惠的 IAP 系统中,由于采用了 SaaS 的分布模式。系统默认的语言使用了集中存储,序列化后压缩传输,在客户端解压反序列化。


FTP for IIS 和 防火墙

光开 21 端口不够。port模式无法列出目录。

用下面的命令把 ftp 服务加入防火墙列表。搞定!

netsh advfirewall firewall add rule name=”FTP7 Service” service=ftpsvc action=allow protocol=TCP dir=in

评论 阅读...

先装了framework 4,后装的 IIS

搞了半天程序运行都出错。后来才发现是因为 “先装了framework 4,后装的 IIS”。

有个老办法,想不起了。搜索了一下。这么干的:

在 framework 4 目录下执行: C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

评论 阅读...

一种远程调用方法

服务器端:

首先把需要的东西放到一个可以序列化的类中。序列化成Xml,输出出来。

客户端:

获取这个Xml,反序列化就好。

两个问题:

1、数据量太大。

2、安全问题。

解决这些问题:

1、压缩后再传输。

压缩方法和解压方法:

        public static string Zip(string value)
        {
            byte[] buffer = Encoding.UTF8.GetBytes(value);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            using (System.IO.Compression.GZipStream zip = new System.IO.Compression.GZipStream(ms, System.IO.Compression.CompressionMode.Compress, true))
            {
                zip.Write(buffer, 0, buffer.Length);
            }

            ms.Position = 0;
            System.IO.MemoryStream outStream = new System.IO.MemoryStream();

            byte[] compressed = new byte[ms.Length];
            ms.Read(compressed, 0, compressed.Length);

            byte[] gzBuffer = new byte[compressed.Length + 4];
            System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length);
            System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4);
            return Convert.ToBase64String(gzBuffer);

        }

        public static string UnZip(string value)
        {
            byte[] gzBuffer = Convert.FromBase64String(value);
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
            {
                int msgLength = BitConverter.ToInt32(gzBuffer, 0);
                ms.Write(gzBuffer, 4, (gzBuffer.Length - 4));

                byte[] buffer = new byte[msgLength];

                ms.Position = 0;
                using (System.IO.Compression.GZipStream zip = new System.IO.Compression.GZipStream(ms, System.IO.Compression.CompressionMode.Decompress))
                {
                    zip.Read(buffer, 0, buffer.Length);
                }

                return Encoding.UTF8.GetString(buffer);
            }
        }

2、加点儿盐什么的。

评论 阅读...

SSMS 2008

已经有了 Sql Server Express 2008,那么我们缺一个客户端管理器。

这个客户端在这里下载:http://go.microsoft.com/fwlink/?LinkId=144346

好了,下吧。这样可以节省空间和CPU!

评论 阅读...

Copyright © 2009-2010 啤酒云. All rights reserved.
Jarrah theme by Templates Next | Powered by WordPress