我试图使用com将数组从c#返回到经典的asp.这篇文章对我很有帮助,但我仍有问题:
我在c#中有以下方法:
public object[] returnStuff () {
return new object[] {'1','2','3'};
}
Run Code Online (Sandbox Code Playgroud)
我的经典ASP:
dim responseArray1
responseArray1 = RegusSoapComponent.returnStuff()
response.write("Type of Array one is " & VarType(responseArray1))
response.write("Type of Array one is " & responseArray1(1))
Run Code Online (Sandbox Code Playgroud)
我的输出是:
response is Type of Array one is 8204
Run Code Online (Sandbox Code Playgroud)
Microsoft VBScript运行时错误"800a01ca"
变量使用VBScript中不支持的自动化类型
无论我做什么,我似乎都无法访问这个变量.
我有多对一的映射工作正常,但位置和location_times之间的一对多关系一直给我一个错误.
我一直收到这个错误:

在这行代码上:

映射看起来像这样:
地点:
public virtual IList<LocationTimes> LocationTimes { get; set; }
public virtual int locationID { get; set; }
public virtual IList<LocationTimes> LocationTimes { get; set; }
public Location()
{
LocationTimes = new List<LocationTimes>();
}
Run Code Online (Sandbox Code Playgroud)
位置图:
public class LocationMap : ClassMap<Location>
{
public LocationMap()
{
Table("Locations");
Id(x => x.locationID).Column("ID");
HasMany(x => x.LocationTimes)
.Inverse()
.Cascade.All();
Run Code Online (Sandbox Code Playgroud)
位置表:
CREATE TABLE [dbo].[Locations](
[ID] [int] IDENTITY(1,1) NOT NULL
...
CONSTRAINT [PK_Locations_1] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = …Run Code Online (Sandbox Code Playgroud) 目前我做的事情如下:
public virtual String zipcodeRaw { get; set; }
public virtual String zipcode {
get
{
return zipcodeRaw.Trim();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以做类似的事情:
public virtual String zipcode {
get
{
return zipcode.Trim();
}
}
Run Code Online (Sandbox Code Playgroud) 我已经成功创建了一个ASP.net网站来调用Soap Web服务.
现在我需要把它变成一个类库,我可以通过Classic从Classic调用它.
这篇关于从类库中使用asp.net app中的Web服务的帖子说我需要添加Web服务,使用"添加服务引用"而不是"添加Web引用"来添加对Web服务的引用.
当我尝试这样做时,我收到一个错误:
元数据包含无法解析的引用:' http : //theURL.com : 8008/asmx/publicServiceAddress.asmx?wsdl '.
下载" http://theURL.com:8008/asmx/publicServiceAddress.asmx?wsdl "时出错.
无法连接到远程服务器连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应77.95.80.35:8008元数据包含无法解析的引用: ' http://theURL.com/asmx/publicServiceAddress.asmx '.元数据包含无法解析的引用:' http://theURL.com/asmx/publicServiceAddress.asmx '.
如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用.
...但是当我点击高级然后再添加"添加Web引用"时我可以添加它.
问题:
1)是否有必要使用"添加服务引用"而不是"添加Web引用"?
2)为什么,有什么区别?
3)这个错误的潜在原因是什么,我怎么能弄清楚这一点,例如我不知道为什么它要移植8080来寻找WSDL http://theURL.com:8008/asmx/reguspublic. asmx?wsdl什么时候应该去http://theURL.com/asmx/reguspublic.asmx?wsdl
我在经典ASP中有一些VB脚本,如下所示:
if (x and y) > 0 then
'do something
end if
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:(46和1)= 0和(47和1)= 1
我不明白这是怎么回事.有人可以解释一下吗?
我通过WCF测试客户端成功运行测试,直到我尝试使用Entity Framework提取数据.
为了确保我没有做任何愚蠢的事情,我从本教程中下载了示例代码,该代码执行类似的操作:http://www.codeproject.com/KB/WCF/WCFandEF.aspx
...当我运行它时,我在类似的地方得到了同样的错误:
var productEntity = (from p in context.ProductEntities
where p.ProductID == id
select p).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
错误是
底层提供程序在Open上失败.
我可以使用相同的连接字符串从"普通应用程序"打开数据库,它似乎是从WCF测试客户端特定访问数据库.
在这里和谷歌上进行研究"基础提供商在开放时失败了".通常表示这是一个连接字符串问题,但我很确定它不是在这种情况下.
所以现在我希望它是某种权限问题.
我正在使用Visual Studio 2010的SQL Server和Windows 7.
从昨天开始,我一直在敲打我的脑袋,所以任何帮助或保护头盔都会受到赞赏.
编辑包含连接字符串
<add name="NorthwindEntities"
connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider
connection string="Data Source=localhost;Initial Catalog=Northwind;User ID=sa;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何在javascript中编码音频文件.
我想做点什么
播放声音>等待1秒>播放另一个声音>等一秒钟.
然后把所有这些都变成一个wav文件甚至更好的mp3.
有谁知道我该怎么做呢?它甚至可能吗?
或者我是否需要使用像PHP这样的服务器端PHP语言?
如果是这样,为什么,我将如何使用PHP?
我需要存储和访问金融市场烛台信息。
我需要储存的蜡烛棒数量开始变得惊人(巨大)。有 1000 个市场,每个市场都有许多交易对,每一对都有许多时间范围,每个时间范围是一组如下所示的蜡烛。例如,下面的数组可以用于每小时价格数据或每日价格数据。
我需要在任何给定时间向多个用户提供此信息,因此需要存储它并以某种方式使其可用。
数据看起来像这样:
[
{
time: 1528761600,
openPrice: 100,
closePrice: 20,
highestPrice: 120,
lowesetPrice:10
},
{
time: 1528761610,
openPrice: 100,
closePrice: 20,
highestPrice: 120,
lowesetPrice:10
},
{
time: 1528761630,
openPrice: 100,
closePrice: 20,
highestPrice: 120,
lowesetPrice:10
}
]
Run Code Online (Sandbox Code Playgroud)
数据的消费者将主要是一个复杂的基于 Javascript 的图表应用程序,但其他消费者将是节点代码,可能还有其他后端代码。
我目前最好的想法是将烛台保存在 Redis 中,尽管我也考虑过使用 noSQL 数据库。我在这两个方面都不是很有经验,所以我不能 100% 确定 Redis 是正确的选择。虽然它似乎是性能最高的选项,但可能更难使用,因为我必须学习很多东西,而且我不相信 Redis 使用的保存和检索方法会使这变得非常容易,因为,我需要不断地向每个数组添加蜡烛。
我目前正在考虑类似的事情:
从烛台 api 中进行初始提取,或者:
这种方法的缺点:
每次创建新蜡烛时,我都必须解析 json,添加任何新蜡烛棒并进行字符串化并保存。
这种方法的优点:
我可以使用 Javascript 来管理数组并确保它已排序等
我需要跟踪表记录何时更新.
我想我想添加一个保存时间戳的列,这样我就可以选择时间戳大于上次更新时间戳的记录.
我在这里和网上做了一些关于这个主题的研究,我对整个时间戳的事情感到有些困惑.所以我想我会创造
未来版本的Microsoft®SQLServer™可能会修改Transact-SQL时间戳数据类型的行为,以使其与标准中定义的行为保持一致.此时,当前时间戳数据类型将替换为rowversion数据类型.
所以我目前的想法是,我只是在datetime类型的表上创建一个新列,并在每次插入更新记录时更新.
桌面上的内置时间戳可以节省一些工作,所以这就是我问的原因.
我有一个名为EarlyHoursStartTime的数据库列,它被声明为float.
然后我有一些代码,我用DataReader遍历整个表
SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (myReader.Read())
{
cmdInsertLocation.Parameters.AddWithValue("@EarlyHoursStartTime", myReader.GetFloat(44)); <- Error here
}
Run Code Online (Sandbox Code Playgroud)
我在上面的AddwithValues行上收到错误.
"指定演员阵容无效."
当发生这种情况时,myReader.GetValue(44)显示的值为0.0.
我尝试了各种各样的事情来解决这个问题,比如在以下情况下输入默认值:
if (Convert.ToString(myReader.GetValue(44)) == "0.0")
Run Code Online (Sandbox Code Playgroud)
但这应该是不必要的,无论如何它都不起作用.
当值为0.0时,为什么会出现无效的强制转换异常?由datareader读入的数据库字段是Float,那么问题是什么?
当我运行此查询时:
select LR.ID, LR.HIDE
from Location_Room LR
where LR.LID = 19624
Run Code Online (Sandbox Code Playgroud)
我明白了:

当我运行第二个查询时:
select LR.HIDE, ID
from Location_Room LR
where LR.LID = 19624
AND (LR.HIDE = ' ' OR LR.HIDE IS NULL or LR.HIDE = '' or datalength(LR.HIDE) = 0)
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:

我需要检查HIDE是不是空或空白,但似乎无法这样做.
该列设置如下:

为什么会这样?我该如何解决?
我创建了一个小的经典asp文件,我使用下面的方法调用asp.net.我工作,但不知何故感觉不对:
Booking.BelongsToSite = file_get_contents("http://localhost:82/test2.asp?functionName=RetBTS¶m=" + User.ID);
protected string file_get_contents(string fileName)
{
string sContents = string.Empty;
if (fileName.ToLower().IndexOf("http:") > -1)
{ // URL
System.Net.WebClient wc = new System.Net.WebClient();
byte[] response = wc.DownloadData(fileName);
sContents = System.Text.Encoding.ASCII.GetString(response);
}
else
{
// Regular Filename
System.IO.StreamReader sr = new System.IO.StreamReader(fileName);
sContents = sr.ReadToEnd();
sr.Close();
}
return sContents;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到这样做的任何问题?
也可以在Classic ASP/VB脚本中执行类似下面的操作.我无法让它调用动态函数名称:
dim functionName, param, result
functionName = request("functionName")
param = request("param")
result = functionName(param)
Run Code Online (Sandbox Code Playgroud)
还有任何想法如何解析参数.如果我像"1,2,3,4"那样传递头部中的参数,我怎样才能将其传递到括号中?
我想反序列化一些如下所示的 XML:
XML:
<bookings>
<booking>
<timeStart>2012/7/2 11:00:00</timeStart>
<timeEnd>2012/7/2 12:00:00</timeEnd>
</booking>
<booking>
<timeStart>2012/7/10 08:30:00</timeStart>
<timeEnd>2012/7/10 10:30:00</timeEnd>
</booking>
</bookings>
Run Code Online (Sandbox Code Playgroud)
我的代码:
var calUrlStr = "http://xxx.com?action=xxxxxx?x=1&y=2";
HttpWebRequest webRequest = GetWebRequest(calUrlStr);
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = "bookings";
xRoot.IsNullable = true;
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyDomain.GCalBooking.GCalBookings), xRoot);
Stream theStream = response.GetResponseStream();
StreamReader reader = new StreamReader(theStream);
MyDomain.GCalBooking.GCalBookings rateResponse = (MyDomain.GCalBooking.GCalBookings)xmlSerializer.Deserialize(reader);
Run Code Online (Sandbox Code Playgroud)
我的课:
namespace MyDomain.GCalBooking
{
public class GCalBookings
{
public virtual List<Booking> Bookings { get; set; }
}
public class Booking …Run Code Online (Sandbox Code Playgroud) c# ×9
asp.net ×4
asp-classic ×3
sql-server ×3
wcf ×2
.net ×1
com ×1
html5 ×1
html5-audio ×1
javascript ×1
nhibernate ×1
nosql ×1
php ×1
redis ×1
sql ×1
vbscript ×1
web-services ×1