欢迎光临
我的个人博客

C#多服务器间推送

在开发房产信息网的过程中,遇到了一个难题,那就是跨服务器的文件推送。

比如有三台服务器ABCA服务器为后台服务器,上传的图片、视频等文件要推送到B服务器,而生成的静态化文件要推送的C服务器。

在工程模式下可以推送成功,但是发布包发布到IIS后始终没有权限,然后就推送失败。通过查阅资料,最后找到了解决方案。

主要步骤分为四步:

一、在BC服务器上共享文件夹或者硬盘,比如共享名设置为WebRoot

 

二、在A服务器上映射两个网络驱动器。

成功之后则会增加一个硬盘,连接到对应的服务器

三、在后台代码部分,比如文件上传

String filePath= “\\\\172.16.1.114\\webRoot\\abc\\index.html”;//以网络映射的地址来定义

imgFile.SaveAs(filePath);

四、在工程的启动方法中模拟登陆(重要)

Global.asax.cs文件中定义 Application_Start 方法,然后在方法体内贴上代码。

System.Diagnostics.Process.Start(“net.exe”, “use \\\\192.168.30.13\\webRoot \”123\” /user:\”abc\””);

Path:对应的地址为BC等接收推送文件的服务器(网络映射地址)

User:服务器的账号

Key:服务器的密码

这里需要注意的是A B C三台服务器必须保证账号密码相等,否则无法获取权限。





转载请标明来源:ibear » C#多服务器间推送

分享到:更多 ()

Where there is a will there is a way

BladeX企业级开发平台