关于本地webserice引用的路径问题,不知道有什么好的解决办法?

解决方案 »

  1.   

    解决方案的每个模块都可以单独做一个配置文件*.config,最后在web.config中引入即可,好处就不用多说啦。
    例如:  <appSetting>
            <add key="user_config" value="/yourpath/user.config"/> </appSetting>
    其中的user.config也是xml文件
      

  2.   

    to smilefox
    有一点疑问,user.config是xml文件,那么里面对应user_config这个key的值
    是不是有很多个?怎么利用呢?
      

  3.   

    我们的项目刚进行合并运行,合并运行过程中发现:
    1。编码的问题.net中默认的编码是utf-8,而以前的系统(asp)(gb2312)的导入会引起编码的问题,也就是乱码的问题。这在我们开发的时候没有考虑到,但是在测试的时候发现了这个问题。
    2。就是和以前的系统(asp等)迁移上,这个问题包括如:以前的上传组件以及引起的配制问题。(对于单独的一个.net项目没有这个问题,但是对于迁移的系统有十几个情况之下,必须要考虑到这个问题)
    3。还有就是关于文件上传这方面,我们单独的用一台服务器来存放文件。这个过程中我们在web.config中设置的路径指向另一台服务器出问题。
    4。关于ad以及数据库的配制文件等。
      

  4.   

    讨论一下,我下载的一个源代码文件,只有项目,没有工程,用vs.net没有办法打开,老是说路径不正确(就这个项目没办法打开,其他都可以)
      

  5.   

    我做了一个ASP程序,但在一台没有安装.NET的机器上,安装IIS后浏览,却把ASP的源程序显示给我看,该怎样解决呢?在其它机器用IE浏览,却把下载窗口打开,问我是要下载还是要打开,大家帮我一下!
      

  6.   

    它可以在unix和liniux上运行吗,如何运行和配置哪
      

  7.   

    数据库配置应该很好处理啊。
    在 web.config 中设置连接数据库的连接串。
    <appsetting>
    <add key="connectionstring" value="initial catalog=yourdb;persist security info=False;user id=youusername;password=yourpassword;Data Source=yourserver's IP;packet size=4096" />
    </appsetting>在程序中直接用:ConfigurationSettings.AppSetting["connectionstring"] 就可以拿到了。
    当然,需要添加引用: using System.Configuration;后台数据库服务器可以随意变更。
      

  8.   

    把一些全局性的东西写到web.config里,例如路径、服务器名等,方便以后的改动
      

  9.   

    to:jackyhx(一杯红茶,几句实话) "有一点疑问,user.config是xml文件,那么里面对应user_config这个key的值
    是不是有很多个?怎么利用呢?''
    web.config
    <appSetting>
            <add key="user_config" value="/yourpath/user.config"/> </appSetting>
    user.config看起来像这样<?xml version="1.0"?>
    <ModuleSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <ConnectionString>server=(local);database=yourdb;uid=sa;pwd=;</ConnectionString>
     <LockByIP>true</LockByIP>
      <LockByCookie>true</LockByCookie>
      <LockDuration>7</LockDuration>
    </ModuleSettings>
    要访问user.config的话,需自己写一个用xml串行化的类。你或者用户根据需要可随时修改配置,这在做大项目的时候或系统可由用户定制的时候,非常有用。这应该算比较高级的用法了。抄的例子:ASP.NET高级编程--Problem-Design-Solution--->  中文版看起来不太爽。下面是一个例子。CONFIG.CS
    using System;
    using System.IO;
    using System.Web;
    using System.Text;
    using System.Web.Caching;
    using System.Xml.Serialization;
    using System.Xml;
    using System.Configuration;
    namespace WebOffice.Configuration
    {
    public class ModuleConfig
    {
    public static ModuleSettings GetSettings()
    {
    HttpContext context = HttpContext.Current; ModuleSettings data = (ModuleSettings)context.Cache["Polls_Settings"]; if (data == null)
    {
    XmlSerializer serializer = new XmlSerializer(typeof(ModuleSettings));
    try
    {
    string fileName = HttpContext.Current.Server.MapPath(GetSettingsFile());
    // create a filestream to read the XML document
    FileStream fs = new FileStream(fileName, FileMode.Open);           
    // use the Deserialize method to retrieve the oject state
    data = (ModuleSettings)serializer.Deserialize(fs);
    fs.Close();
          
    context.Cache.Insert("Polls_Settings", data, new CacheDependency(fileName));
    }
    catch (System.IO.FileNotFoundException)
    {
    // if the file is not found, return a new empty class
    data = new ModuleSettings();
    }
    }

    return data;
    }
    public static void SaveSettings(ModuleSettings data)
    {
    string fileName = HttpContext.Current.Server.MapPath(GetSettingsFile());
    XmlSerializer serializer = new XmlSerializer (typeof(ModuleSettings));
            
    // serialize the object
    FileStream fs = new FileStream(fileName, FileMode.Create);
    serializer.Serialize(fs, data);
    fs.Close();
    } private static string GetSettingsFile()
    {
    HttpContext context = HttpContext.Current;
    // get the file path from the cache
    string filePath = (string)context.Cache["Polls_SettingsFile"];
    // if path is null, get it from web.config
    if (filePath == null)
    {
    // retrieve the value
    filePath=ConfigurationSettings.AppSettings["Polls_SettingsFile"];
    // save into the cache
    context.Cache["Polls_SettingsFile"] = filePath;
    }
    // return the path
    return filePath;
    } }


    public class ModuleSettings
    {
    private string connectionString;
    private bool lockByIP;
    private bool lockByCookie;
    private int lockDuration;

    [XmlElement]
    public string ConnectionString
    {
    get { return connectionString; }
    set { connectionString = value; }
    } [XmlElement]
    public bool LockByIP
    {
    get { return lockByIP; }
    set { lockByIP = value; }
    } [XmlElement]
    public bool LockByCookie
    {
    get { return lockByCookie; }
    set { lockByCookie = value; }
    } [XmlElement]
    public int LockDuration
    {
    get { return lockDuration; }
    set { lockDuration = value; }
    }
    }}
      

  10.   

    更正一下:
    ASP.NET  Web站点高级编程--Problem-Design-Solution-
      

  11.   

    to: spring_ok(AFanOfSoccerLottery) ( ) 你的原文提到的:<add key="connectionstring" value="initial catalog=yourdb;persist security info=False;user id=youusername;password=yourpassword;Data Source=yourserver's IP;packet size=4096" /></appsetting>虽然这样在web.config设置了key后可以方便程序中使用数据库连接字符串,但这样将user id和password明文存放,似乎欠妥。为了安全起见,最好先将数据库连接串加密,然后在web.config中将key值设置为此加密后字符串。应该怎样实现呢?各位有何高见
      

  12.   

    当然,一些简单的配置或模块较少时,直接在web.config里配就可以了

    <appsetting>
    <add key=",,," value="" />
    </appsetting>
    然后用
    ConfigurationSettings.AppSettings[",,,"],楼上的兄弟都说了。补充一下:这几天看ASP.NET  Web站点高级编程--Problem-Design-Solution,
    就这一点说说我的体会:
    把配置文件分类是个很好的想法,因为web.config的内容很重要,这样可以隔离危险操作,可以让部分用户修改特定文件,而web.config不用做任何修改!刚刚在亚马逊网上书店看读者评价--五星。看来花7折(原价55)买得不亏。
      

  13.   

    to:loging(有了“三个代表”,我的程序没有bug了) 
    刚好微软的Building Secure ASP.NET Applications文档中
    有这个
    How To:
    Store an Encrypted Connection String in the Registry
    先把字符串加密后放进注册表中,用时在解出来,可以参考其它文章。Building Secure ASP.NET Applications文档在网上msdn可下载的,喷血推荐给各位。
      

  14.   

    smilefox(笑面狐) ,多谢!真是一个好人!