正在学习。能够把你的项目给我看看。学习学习。谢谢。[email protected]
解决方案 »
- (我的代码错在哪)输出出现次数最多的字母,请问怎样保证输入相同最多(aabb)时,结果输出a2b2而不是输出一个?
- c#抓取用户需要的网站的特定内容
- 求C#报表设计思路,要求能转列为行(类似交叉表)
- 如何产生1到4的随机数?
- 根据datagrid中两个字段的值,如何能生成诸如“xxx.aspx?aid=1&bid=3”这样的链接?
- 关于机器绑定的求助
- jsonArray 字符串解析
- 关于Com口的问题
- 请问,怎么可以在DataGrid的DoubleClick事件里面取得DataGrid单元格的内容?
- XmlReader.Read 方法是abstract,怎么可以不经override直接使用?
- ComboBox数据邦定问题~~~各位大侠 救火啊!!!!!!
- 为什么在 Access 里这个 SQL 子查询查不到结果呢?
[email protected]因为这是公司的项目所以不能用于交流,抱歉
而且本问题一直和DataSet有关,所以我做了个只返回DataSet的服务端,结果和上面一样。查遍网络DataSet序列化没什么问题!
---------------------------------------------------------------------------------
using System;
using System.Data;namespace LCL.Test.RemotingTest
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class C_RemotingServer:MarshalByRefObject
{
public C_RemotingServer()
{
//
// TODO: 在此处添加构造函数逻辑
//
} //返回DataSet
public DataSet ReturnDataSet()
{
DataTable workTable = new DataTable("Customers");
workTable.Columns.Add("CustName", typeof(String));
workTable.Columns.Add("CustAge", typeof(String));
DataRow dr=workTable.NewRow();
dr[0]="name";
dr[1]="null";
workTable.Rows.Add(dr);
DataSet _set=new DataSet();
_set.Tables.Add(workTable);
return _set;
}
}
}
--------------------------------------------------------------------------------配置文件web.config
--------------------------------
<configuration>
<system.runtime.remoting>
<application>
<service>
<wellknown mode="Singleton" objectUri="RemotingTest.rem" type="LCL.Test.RemotingTest.C_RemotingServer, RemotingService" />
</service>
<channels>
<channel ref="http" />
</channels>
</application>
</system.runtime.remoting>
</configuration>
-------------------------------------
---------------------------
有关调用实时 (JIT) 调试而不是此对话框的详细信息,
请参阅此消息的结尾。************** 异常文本 **************
System.InvalidCastException: 返回参数具有无效的类型。
at System.Runtime.Remoting.Proxies.RealProxy.ValidateReturnArg(Object arg, Type paramType)
at System.Runtime.Remoting.Proxies.RealProxy.PropagateOutParameters(IMessage msg, Object[] outArgs, Object returnValue)
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Info.Teach.DTS.C_DTService.ReturnDataSet()
at Info.Teach.DTS.C_ClientWin.button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/microsoft.net/framework/v1.0.3705/mscorlib.dll
----------------------------------------
DTTClient
程序集版本:1.0.1559.29569
Win32 版本:1.0.1559.29569
基本代码:file:///F:/IIS/DTTTest/client/DTTClient.exe
----------------------------------------
System.Windows.Forms
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system.windows.forms/1.0.3300.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system/1.0.3300.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system.drawing/1.0.3300.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本:1.0.3300.0
Win32 版本:1.0.3300.0
基本代码:file:///c:/winnt/assembly/gac/system.windows.forms.resources/1.0.3300.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------
DTTClassLib
程序集版本:1.0.1559.29493
Win32 版本:1.0.1559.29493
基本代码:file:///F:/IIS/DTTTest/client/DTTClassLib.DLL
----------------------------------------
System.Data
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system.data/1.0.3300.0__b77a5c561934e089/system.data.dll
----------------------------------------
System.EnterpriseServices
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system.enterpriseservices/1.0.3300.0__b03f5f7f11d50a3a/system.enterpriseservices.dll
----------------------------------------
System.Xml
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system.xml/1.0.3300.0__b77a5c561934e089/system.xml.dll
----------------------------------------
mscorlib.resources
程序集版本:1.0.3300.0
Win32 版本:1.0.3300.0
基本代码:file:///c:/winnt/assembly/gac/mscorlib.resources/1.0.3300.0_zh-chs_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Data.resources
程序集版本:1.0.3300.0
Win32 版本:1.0.3300.0
基本代码:file:///c:/winnt/assembly/gac/system.data.resources/1.0.3300.0_zh-chs_b77a5c561934e089/system.data.resources.dll
----------------------------------------
System.resources
程序集版本:1.0.3300.0
Win32 版本:1.0.3300.0
基本代码:file:///c:/winnt/assembly/gac/system.resources/1.0.3300.0_zh-chs_b77a5c561934e089/system.resources.dll
----------------------------------------
System.Runtime.Remoting
程序集版本:1.0.3300.0
Win32 版本:1.0.3705.0
基本代码:file:///c:/winnt/assembly/gac/system.runtime.remoting/1.0.3300.0__b77a5c561934e089/system.runtime.remoting.dll
----------------------------------------
System.Data
程序集版本:1.0.5000.0
Win32 版本:1.1.4322.573
基本代码:file:///c:/winnt/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll
----------------------------------------
System
程序集版本:1.0.5000.0
Win32 版本:1.1.4322.573
基本代码:file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Xml
程序集版本:1.0.5000.0
Win32 版本:1.1.4322.573
基本代码:file:///c:/winnt/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------************** JIT 调试 **************
若要启用实时 (JIT) 调试,此
应用程序或计算机的配置文件 (machine.config) 的
system.windows.forms 节中必须设置 jitDebugging 值。
编译应用程序时还必须启用
调试。例如:<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>启用 JIT 调试后,任何未处理的异常
将被发送到此计算机上注册的 JIT 调试器,
而不是由此对话框处理。
我在开发机上的客户端访问Internet上服务端一直都很正常,很明显DataSet在Internet中传输是没有问题的。
现在非常让人奇怪的是为什么只有开发机上的客户端访问Internet上服务端是正常的~~~
我一直在考虑是不是Internet服务器上的.Net运行环境问题,但是我没法想通如果是服务器有问题,为什么在开发机上的客户端调用又很正常,开发机是不是比其他的同局域网的机器多什么?
如果多什么?那么为什么我把服务端和客户端部署在局域网内的其他两台机器间访问时又不会出现问题?
jerryfangsh(碎片) 我也认为是Framework的版本问题,但是我这台开发机器上的.Net版本是1.03,如果服务器是因为Framework1.1的问题,那么应该是我的这台开发机客户端报错才对~
-------------------
我现在安装Framework1.1和Framwork1.1 SDK,有个比较幼稚的问题我怎么知道VS.NET2002是用Framework1.1编译的或者说我用什么工具能够看到生成程序Framework版本号。
所有的问题的产生都是因为除了开发机上安装的是Framework1.03以外,其他同局域网内的机器都安装了Framework1.1和Framework1.03,刚才我在开发机上安装了Framework1.1后也是产生了“返回参数具有无效的类型”的异常在客户端的配置文件<configuration>节点中加入
<startup>
<requiredRuntime version="v1.1.4322" />
</startup>
后问题解决。估计是System.Data类库的版本不协调造成。
大家可以看下下面的文章,我一直认为自己只安装Framework1.03不存在下面的问题。
http://www.dotnet247.com/247reference/msgs/32/164953.aspx
还有自己是考研考完刚来到这家公司对这里开发环境不熟,郁闷了一个多星期,引以为戒。但是我还有以下的疑问:
1、大家可以看到因为Internet上的服务端所在的机器安装了Framework1.0和1.1而本地网的客户端同时安装了Framework1.0和1.1所以出现了问题。但为什么这样的问题不出现在局域网内,大家可以看到我做了在局域网内同时安装Framework1.0和1.1的两台电脑间的测试。
2、大家还可以看到我把运行时强制到<requiredRuntime version="v1.1.4322" />时不报错的,而在此以前这台开发机上一直是Framework1.0反而没问题;我试着改成<requiredRuntime version="v1.1.0375" />时就抱错了。
希望哪位牛人解释下Net的Framework版本控制问题
以及这个比较幼稚的问题 怎么知道VS.NET2002开发的程序是用Framework1.1编译的
或者说我用什么工具能够看到程序是用哪个版本Framework生成的。
-------------------------------------------------------------------------------
希望大家有个学习的机会明天此时再结帖。
1、InvalidCastException在两种情况下出现,一个是显示类型转换时,目标类型和源类型不一致;另一个就是显示类型转换时,目标类型和源类型的版本不一致;
2、在Remoting中,Proxy需要转换类型,分别发生在服务器端和客户端;首先服务器端将返回的数据序列化传输,到达客户端时,客户端的Proxy将数据反序列化为指定类型。DataSet是在服务器端被序列化的,序列化时带入了服务器端System.Data.DLL的版本号,假设是1.0;那么当在客户端反序列化时,Proxy会去找当前被设为使用状态的System.Data.DLL。如果客户端的是1.1,那么就会出现InvalidCaseException错误。VS.Net2002使用的都是Framework1.0,无法指定它使用1.1的。
ILDasm.exe程序可以帮助你看Assembly的内部信息。
“你的开发机器和服务器的版本应该是一样的,所以不会出错。那么现在就是出错的那台是1.1的,而开发和服务器都是1.0的”
我已经问过网管服务器端是1.1的,明天我再确认。
再者如果服务器是1.0的我把客户端强制在v1.1.4322应该出错。
<startup>
<requiredRuntime version="v1.1.4322" />
</startup>
而恰恰是现在如果是强制v1.0.375出错,如下
<startup>
<requiredRuntime version="v1.0.375" />
</startup>所以我一直很奇怪为什么开发机只有v1.0.375的时候反而能够很好的调用,而其他既装了1.0又装了1.1的反而异常。
ILDasm.exe好像只能看到反汇编的程序本身的版本号,不是Framework的版本号:)