using WAPIWrapperCSharp;
WindAPI w = new WindAPI();
w.start();
WindData wd = w.wsd(StockCode, "close", StartDate, EndDate);
w.start()是用来验证登录的Wind方法(此方法封装在万得公司提供的量化接口相关的ocx中),方法的定义如下:
万得量化接口主要包括2个文件:WAPIWrapperCSharp.dll(需要加载引用) 和 WindMatlab.ocx
用户接口在WAPIWrapperCSharp.dll,dll再调用ocx里的方法。比如w.start()在WAPIWrapperCSharp.dll如下(万得提供了公开的dll源码):
WindDataCOM wdc = null;
public WindAPI()
{
try
{
wdc = new WindDataCOM();
wdc.enableAsyn(1);
wdc.stateChanged += new _DWindDataCOMEvents_stateChangedEventHandler(ReqHandler);
}
catch{
throw new Exception("WindMatlab.ocx组件未注册");
}
}
//Wind接口启动函数
public int start(string option1 = "", string option2 = "", int timeout = 5000)
{
return wdc.start_csharp(option1, option2, timeout);
}
而WindDataCOM这个类则是封装在WindMatlab.ocx里面的,内容看不到。
我的asp.net程序在使用iis express做debug运行时,所有功能完全正常,但如果切换到iis或发布到iis,一运行w.start(),就会失败(返回0代表登录正常,其他返回值代表失败)。
疑问如下:
1. 接口涉及到的WindMatlab.ocx为服务器端组件,是否因为iis不允许服务器端的ocx运行造成登录失败?
2. iis比iis express多了哪些限制?
3. 既然iis express运行完整没有问题,是否可以用iis express代替iis作为生产环境?
(iis已经配置为使用administrator访问权限)
4. 如果解决此问题?
请有相关经验的高手支招。谢谢!
4 个解决方案
#1
感叹现在vs就有2017了 。
这个问题我也不懂, 我说一个遇到的同样是 本地 express iis 可以 , 到服务器就不可以, 提示的是 安全方面 报错了。
实现的功能是用 wcf 服务上传一个图片 的 一个exe小程序 。 当时本地可以,把程序传给别人就不行了。
本地 iis 模拟的权限要比 发布的iis高。
后来怎么百度了会就改了,具体怎么改的还忘了, 记得是在 配置文件里面做了调整。
iis问题多是配置文件的限制修改吧, 楼主再查查问题所在呢,相信会解决的
这个问题我也不懂, 我说一个遇到的同样是 本地 express iis 可以 , 到服务器就不可以, 提示的是 安全方面 报错了。
实现的功能是用 wcf 服务上传一个图片 的 一个exe小程序 。 当时本地可以,把程序传给别人就不行了。
本地 iis 模拟的权限要比 发布的iis高。
后来怎么百度了会就改了,具体怎么改的还忘了, 记得是在 配置文件里面做了调整。
iis问题多是配置文件的限制修改吧, 楼主再查查问题所在呢,相信会解决的
#2
看到这种问题,一般都是权限问题
然后看到你有winAPI,基本确定你就是权限问题,你可以看哪个IIS_XXX账户的访问权限,那个权限默认是很低的,开高了容易被攻击
然后看到你有winAPI,基本确定你就是权限问题,你可以看哪个IIS_XXX账户的访问权限,那个权限默认是很低的,开高了容易被攻击
#3
错误截图那。
#4
截图在此:
#1
感叹现在vs就有2017了 。
这个问题我也不懂, 我说一个遇到的同样是 本地 express iis 可以 , 到服务器就不可以, 提示的是 安全方面 报错了。
实现的功能是用 wcf 服务上传一个图片 的 一个exe小程序 。 当时本地可以,把程序传给别人就不行了。
本地 iis 模拟的权限要比 发布的iis高。
后来怎么百度了会就改了,具体怎么改的还忘了, 记得是在 配置文件里面做了调整。
iis问题多是配置文件的限制修改吧, 楼主再查查问题所在呢,相信会解决的
这个问题我也不懂, 我说一个遇到的同样是 本地 express iis 可以 , 到服务器就不可以, 提示的是 安全方面 报错了。
实现的功能是用 wcf 服务上传一个图片 的 一个exe小程序 。 当时本地可以,把程序传给别人就不行了。
本地 iis 模拟的权限要比 发布的iis高。
后来怎么百度了会就改了,具体怎么改的还忘了, 记得是在 配置文件里面做了调整。
iis问题多是配置文件的限制修改吧, 楼主再查查问题所在呢,相信会解决的
#2
看到这种问题,一般都是权限问题
然后看到你有winAPI,基本确定你就是权限问题,你可以看哪个IIS_XXX账户的访问权限,那个权限默认是很低的,开高了容易被攻击
然后看到你有winAPI,基本确定你就是权限问题,你可以看哪个IIS_XXX账户的访问权限,那个权限默认是很低的,开高了容易被攻击
#3
错误截图那。
#4
截图在此: