我现在做了一个工作流项目,里面有引用到webservice,把连接字符串设置为动态了,
生成后有2个文件,一个是DLL,一个是配置文件,配置文件里面主要是一webservice的地址,
现在我改了下webservice的地址,但是DLL并没有访问新的webservice的地址,
还是在访问生成文件时候VS给定的哪个地址,
各位有什么方法不?

解决方案 »

  1.   

    webservice的地址,考虑写在外部引用
      

  2.   

    假设你的 webservice 引用后类名为 AA service = new A();try
    {
        service.Url = 从配置文件中取出域名 + "/路径/xxxx.asmx";
    }
    catch
    {
        //处理错误。
    }A.你的方法();
      

  3.   

    楼主是不是WEBSERVICE在引用后有修改过?就是新的地址上的WEBSERVICE和旧的位置上的WEBSERVICE不全一样?这样在调用时会出现问题。
    否则的话,如果WEBSERVICE只是换一个地址,那应该是没问题的呀。
    MyWebService.Service m_service = new TestApp.MyWebService.Service();
    m_service.Url = @"WEBSERVICE目前所在地址";
    这样就可以正常使用了呀。或者楼主可以考虑下动态调用webservice。这样就比较方便了。不用担心WEBSERVICE有什么修改。
    参考 http://www.cnblogs.com/prolifes/articles/1235685.html
      

  4.   

    我好像没太明白什么意思。
    可能有两种情况,一是你将webservice改成动态加载后,生成一个dll,我查了一下,在obj-debug-tempPE 文件下看到了一个dll,确没有配置文件,这个dll是临时生成的,不知道能不能用来动态调用webservice。
    没这么用过。二 是你自己写的动态库去访问webservice,这样做是没问题的,通过程序控制  
             try
                {
                    WebReference.Service service = new WindowsApplication1.WebReference.Service();
                    service.Url = "";// New service url 
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message.ToString());
                }
    我们做项目时,动态加载webservice 前提是webservice 只有地址或者名字发生改变,其他内部参数都一致的情况,至于dll访问webservice 其实和程序访问相似。
      

  5.   

    LZ的二个WebSerice  可能不是一样的. 
      

  6.   

    我做了一个工作流项目,供其他程序调用,涉及到数据的修改是通过webservice修改的,也就是项目中添加了一个webservice的引用,然后项目生成DLL,这个时候除了DLL文件,还有一个**.dll.config文件,这里面是存储webservice地址的,因为webservice地址不是固定的,需要随时修改成其他IP地址。
    现在问题是:DLL中记录了生成项目是的webservice地址,而不通过读取**.dll.config中的webservice地址,
    我现在的要求是,不管什么方法,只要让我的DLL可以随时访问**.dll.config文件,改变DLL中的webservice的引用地址
      

  7.   

    处理好了,直接进Web References文件夹下的Reference.cs中,指定this.Url = “读取外部文件”,搞这东西搞了我一天了,还是对webservice的整体构造不是很明白啊。。