小弟最近用remoting部署一个三层的程序。
前端还是用应用程序,中间层通过做一个service部署在另一个服务器上。
现碰到以下几个问题,请大家指明一条出路吧!
1。在序列化xmldocument的时候,在s端必须先存成一个文件然后在c端读取吗?有没可以直接传过来的方式?
现使用的方式如下:
XmlDocument m_xmlDoc;
m_xmlDoc = new XmlDocument();
m_xmlDoc.Load(CS_ACCESSRIGHTSXML); XmlSerializer ser = new XmlSerializer(typeof(XmlDocument)); TextWriter writer = new StreamWriter("C:\\aa.xml");
ser.Serialize(writer, m_xmlDoc);
writer.Close();
2。小弟通过配置文件来配置通道信息和一些remoting信息。
配置文件如下:C:
</configuration>
<system.runtime.remoting>
<application> <client>
<!-- This entry only works with the RemotingHelper class -->
<wellknown type="Price.BusinessFacade.PriceSystem, Price.BusinessFacade"
url="tcp://localhost:1234/PGLPMS.rem" />
</client> </application>
</system.runtime.remoting>
</configuration>
S:
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel ref="tcp" port="1234" />
</channels>
<service>
<wellknown mode="SingleCall" type="Price.BusinessFacade.PriceSystem, Price.BusinessFacade" objectUri="PGLPMS.rem" />
</service>
</application>
</system.runtime.remoting>
</configuration>
现请问是不是在配置文件里面需要添加要序列化的类?和对象?如果是?如何实现?
3。现碰见一个问题当建立好通道,传了数据后。
如果client端关闭,再打开的时候报远程处理配置出错。remoting.exception.
试图重定向类型Price.BusinessFacade.PriceSystem,Price.BusinessFacade的激活,而该类型已重定向?
调试发现执行到RemotingConfiguration.Configure(filename)出错;
请问是什么原因?如何修改?
4。关于remoting的架构,小弟看了好多remoting的简单例子,发现都公布接口的方式来实现。
而小弟目前都没有接口的方式来实现。请问这会有什么好处。谢谢大家的帮助。
前端还是用应用程序,中间层通过做一个service部署在另一个服务器上。
现碰到以下几个问题,请大家指明一条出路吧!
1。在序列化xmldocument的时候,在s端必须先存成一个文件然后在c端读取吗?有没可以直接传过来的方式?
现使用的方式如下:
XmlDocument m_xmlDoc;
m_xmlDoc = new XmlDocument();
m_xmlDoc.Load(CS_ACCESSRIGHTSXML); XmlSerializer ser = new XmlSerializer(typeof(XmlDocument)); TextWriter writer = new StreamWriter("C:\\aa.xml");
ser.Serialize(writer, m_xmlDoc);
writer.Close();
2。小弟通过配置文件来配置通道信息和一些remoting信息。
配置文件如下:C:
</configuration>
<system.runtime.remoting>
<application> <client>
<!-- This entry only works with the RemotingHelper class -->
<wellknown type="Price.BusinessFacade.PriceSystem, Price.BusinessFacade"
url="tcp://localhost:1234/PGLPMS.rem" />
</client> </application>
</system.runtime.remoting>
</configuration>
S:
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel ref="tcp" port="1234" />
</channels>
<service>
<wellknown mode="SingleCall" type="Price.BusinessFacade.PriceSystem, Price.BusinessFacade" objectUri="PGLPMS.rem" />
</service>
</application>
</system.runtime.remoting>
</configuration>
现请问是不是在配置文件里面需要添加要序列化的类?和对象?如果是?如何实现?
3。现碰见一个问题当建立好通道,传了数据后。
如果client端关闭,再打开的时候报远程处理配置出错。remoting.exception.
试图重定向类型Price.BusinessFacade.PriceSystem,Price.BusinessFacade的激活,而该类型已重定向?
调试发现执行到RemotingConfiguration.Configure(filename)出错;
请问是什么原因?如何修改?
4。关于remoting的架构,小弟看了好多remoting的简单例子,发现都公布接口的方式来实现。
而小弟目前都没有接口的方式来实现。请问这会有什么好处。谢谢大家的帮助。
解决方案 »
- 关于.Net数据库的操作问题。
- C#中怎样解决同一个新建界面被用户同时操作时不会产生同一个编号!
- C#连接oracle 回车换行符号应该如何转义呢?
- winfrom工程如何获取别的工程资源文件中的图片?
- 让你猜五次.你会选择哪组方案
- 谁用c#做过marc数据格式与数据库之间都转换?
- C#如何添加右键菜单?
- c/s架构的聊天室房间要什么实现?如QQ聊天室的房间
- 与硬件通讯部分编程问题
- win2000下编译C#程序的命令是什么?
- 请教如何遍历网站(textbox输入网站名称)目录结构
- 我把string转正byte然后用scoket发过去.可对方收到的是乱码(有中文).他说他们的是GB3213.我应该怎么转啊..真的很急.谢谢了...
而s端的请问又是什么呢??
可有什么例子加深理解?
[email protected]
万分感谢!!!
问题2: 客户端不用什么app.config,用Activator.GetObject直接调用接口就行了。
问题3: 在客户度不用在app.config中配置数据,用Activator.GetObject调用remoting接口就不会出现你的问题。
问题4:remoting需要供其他人调用,暴露给别人的最好是接口,而不是直接的类的代码,这样不用担心调用者不小心改了你的程序。
问题5:引用你的interface的project,然后用:
IContactInterface icif = (IContactInterface)Activator.GetObject(typeof(IContactInterface), GetContactWmiUrl);
然后就可以象调用一般的函数一样调用IContactInterface接口中的方法
1。这个我去实验下。
2。问题如果我部署的时候换一个服务器,岂非又要重新编译一下??
3。
4。remoting需要供其他人调用?别人还要改变我的代码?不是很明白,这些代码不都是自己写好了吗?如果将来需要变更的话,只需改变自己本身的类就好了。类里面也可以设计好。只是我觉得用接口方便在sao和cao的转化。
5。这方式是sao的应用还是cao的应用??恳请大家帮助。
ser.Serialize(ms, m_xmlDoc);在这里,不知道memoryStream类型是否可以被序列化传输。如果不能,可以用这个方法:byte[] xmlBuffer=ms.ms.ToArray();然后,然后把xmlBuffer传出去用memoryStream并不比写文件快,而且,占用内存。但是,感觉这样,会比写盘要爽一些。 也许,在线程比较多的情况下,会有一些优势
byte[] xmlBuffer=ms.ms.ToArray();应该是:
byte[] xmlBuffer=ms.ToArray();