问题描述
就是编辑操作的服务器在内网点生成静态页后文件存入到一个对外的服务器上这两个服务器间采用什么方式去实现是最常见的
解决方案
解决方案二:
没有什么“最常见”的。因为软件是创造性的,不是建筑工地一样的模仿复制。你会什么通讯方法,你确定做到了稳定可靠,那么就使用它好了。
解决方案三:
引用1楼sp1234的回复:
没有什么“最常见”的。因为软件是创造性的,不是建筑工地一样的模仿复制。你会什么通讯方法,你确定做到了稳定可靠,那么就使用它好了。
老大我就发过5个帖子全有您回的。。。。谁叫您是老大呢好吧您说的对
解决方案四:
该回复于2012-03-16 09:07:53被版主删除
解决方案五:
引用楼主pang51a的回复:
就是编辑操作的服务器在内网点生成静态页后文件存入到一个对外的服务器上这两个服务器间采用什么方式去实现是最常见的
LZ的意思是要实现两台服务器同步吗?
解决方案六:
怎么生成静态页面?伪静态么?
解决方案七:
引用4楼porschev的回复:
引用楼主pang51a的回复:就是编辑操作的服务器在内网点生成静态页后文件存入到一个对外的服务器上这两个服务器间采用什么方式去实现是最常见的LZ的意思是要实现两台服务器同步吗?
差不多算同步吧但是内部服务器上不存生成后的东西文件只远程存到别的服务器上
解决方案八:
引用5楼yangchun1213的回复:
怎么生成静态页面?伪静态么?
不是伪静态是真的静态到html里去
解决方案九:
webservice,直接io写入不可以吗??您叫您的"对外的服务器上"给您开接口要不然,不论我生成,还是他生成,都有问题一句话,您的程序怎么写,完全看他的接口怎么设置这个问题不是您考虑的,是他"对外的服务器上"
解决方案十:
不太懂,感觉推的方式难哦,楼主你想在本地服务器生成静态文件,却不保存,而是把本地生成的静态文件传到远程服务器上保存,感觉好麻烦,估计得研究上传控件的原理了。假如楼主有权限修改那台接收文件的远程服务器网站的程序,那么可以试一下我给的这个方式:首先,你在本地服务器网站里添加一个页面Produce.aspx,这个页面用来生成你所说的静态页面内容的,注意,这里我指的是内容,而不是文件,别理解错了;然后,你在远程服务器网站里添加一个页面Receive.aspx,这个页面是用来模拟远程访问本地服务器页面Produce.aspx的,通过模拟远程访问本地服务器页面,获取相应的页面内容,然后保存为静态文件,这个Receive.aspx是核心文件,以下给出它的模拟远程访问本地服务器页面Produce.aspx,获取动态生成的页面内容并保存为相应的静态文件的核心代码:Receive.aspx.cs文件的Page_Load事件里添加下面代码:stringstrUrl=sting.Fomat("http://www.hao123.com/Produce.aspx?ID={0}",Requst.Qtring["ID"]);//这里就是你的本地服务器的远程访问URL,这个ID是参数,方便你在Produce.aspx里通过这个ID来生成相应的页面内容,这里我直接用记事本写,有些关键字忘记了,不好意思,想信楼主能看得懂思路就行WebRequestCmcnUrl=WebRequest.Create(strUrl);//模拟页面请求对象CmcnUrl.UseDefaultCredentials=false;WebResponseWebRe=CmcnUrl.GetResponse();StreamstrCmcn=WebRe.GetResponseStream();StreamReaderstRCmcnHtml=newStreamReader(strCmcn,System.Text.Encoding.UTF-8);//把发送对象流中的内容以指定编码方式导入StreamReader流,第二个参数为编码对象,可能我这里写错了关键字,不好意思,我用记事本stringfilePath=sting.Fomat("~/MyFiles/{0}.htm",Requst.Qtring["ID"]);//这个是要保存的静态文件路径StreamWriterSw=newStreamWriter(Server.MapPath(filePath),false,System.Text.Encoding.UTF-8);;//生成一个写入流,已配置了要写入或生成的文件地址,名称(也就是filePath参数),指定文件内容编码方式Sw.Write(stRCmcnHtml.ReadToEnd());//这里,把上面取得的发送对象流内容通过StreamWriter写入流写到指定的文件中//下面这些,只是关闭各种文件和流Sw.Flush();Sw.Close();Sw.Close();strCmcn.Close();WebRe.Close();stRCmcnHtml.Close();returntrue;Response.Write("恭喜你,生成静态文件成功");//页面提示一下
至于Produce.aspx页面的代码,我就不多解释了,想信过URL中的ID参数,楼主能生成不同的内容的页面,不过这里提醒一下楼主,因为你的静态文件是保存在远程服务器上的,所以,静态页面上的包括CSS样式文件和图片之类的,JS之类,你可以确定好它们的路径了,最好是弄成绝对路径//下面我讲一下你本地服务器上的操作步骤:在操作页面里放置下面代码,用于弹出新窗口1.新添加一个Form<formid="EmailForm"action=""method="get"target="_blank"></form>
注意form的target属性要设置成_blank2.提交这个Form//这个按钮事件你可以换成你自己的functionSubmitMyForm(id){varmyForm=document.getElementById("EmailForm");//获取表单myForm.action="http://www.baidu.com?Receive.aspx?ID="+id;//看好这里,这里就是就是构造准备调用的远程服务器端的URL,一会调用成功,则剩下的事件就交给http://www.baidu.com?Receive.aspx这个页面了myForm.submit();//提交}
//以上只指出基本思路和核心代码,希望楼主能读得懂,运作流程是:本地服务器访问远程服务器的页面Receive.aspx,并把本地的参数通过URL传送过去→远程页面Receive.aspx要获取到传过来的URL参数后,内部反过来访问本地服务器的Produce.aspx页面,并同时把参数回传回来,并获取Produce.aspx页面的最终数据包,生成静态文件→Produce.aspx根据URL里的参数,生成最终要保存的静态文件页面的内容样板这个流程需要楼主时刻清楚哪个页面是在哪台服务器上执行代码的,这点很重要,如果分不清楚哪个页面的代码是在哪台服务器上运行,那就麻烦如果楼主看不懂,可能加入下面这几个群,我在里面叫“转来转去”11425434521596224821493