是这样,我建了一个网站,在本地编写,然后上传到远程虚拟主机上运行。但有一点:就是本地和远程的数据库链接字符串不同。我想根据服务器IP地址不同来选择不同的链接字符串,请问应该怎么做?

解决方案 »

  1.   

    晕。你把数据库连接字符串写在web.config里。这样,你传上去改成服务器端的连接。以后就不用再传web.config了。
      

  2.   

    ping 一下不就知道了吗如:ping community.csdn.net
      

  3.   

    如果你真要用IP,服务器的IP你可以问一下虚拟主机提供商。然后把这个IP写死就不用每次都取出来判断了。
      

  4.   

    就是这样:我有一个网站,在vs2005下作的;每次搞完一点“发布网站”,就跑到服务器上去了,省时又省力;但是就是config里面的连接字符串改不过来,如果要改就单独改一下再用别的ftp软件传上去,麻烦,所以我想找一个方法动态的判断一下该调用哪个链接字符串
      

  5.   

    我觉得,对于程序来说在你家计算机上或者远程服务器上运行的时候,它都是认为在本地运行.但还是可以通过一些方法来区别的,我想到一个笨办法不知道行不行呵呵:通过比较程序的安装路径来决定使用那个字符串连接.比如你在家,程序安装在D:\WEBS\APP01目录;
    而传到服务器上的时候,它肯定也有自己固定的存放路径.在GLOBAL.ASAX文件代码里填写得到程序运行的所在目录:protected void Application_Start(Object sender, EventArgs e)
    {
    //得到在服务器上的真实地址
    Application["WebPath"] = Server.MapPath("./");
    }
    在你的程序页面中写:
    if(HttpContext.Current.Application["WebPath"].ToString() == @"D:\WEBS\APP01")
    {
        string strLink = "AAAAAAA";
    }
    else
    {
        string strLink = "BBBBBBB";
    }
    这样你就可以判断给那个地址使用那个数据库连接字符串了,对吧? 嘿嘿 :)
      

  6.   

    有很多方法啊1使用预处理,发布时用release方式编译
    #if DEBUG
    #else
    #endif2增加一个页面专门设置或选择连接字符串3如果product server和sqlserver同一台机器可以使用localhost或127.0.0.1或.来指定server。这样令本地和远程连接字符串相同,也就无须更改了。...