使用delphi+intraweb进行微信开发2—intraweb以.net方式发布(以asp.net mvc4模式部署)在IIS(.net虚拟主机)上
在第一讲使用delphi+intraweb进行微信开发1--微信平台接入中我们编写了一个简单的微信接口程序,这个程序我是用Stand Alone Server / Service 方式编译的程序,并且将端口设置成80进行的微信接口测试,但是实际使用时为了更好的服务器性能我们一般采用iis作为web服务器,以往的情况下iw需要编译成isapi部署在iis上。但是由于自打iis7以后iis对isapi的态度发生了很大变化(推荐使用fastcgi了)导致编译好的isapi很难在iis7.5上部署成功,反正我尝试多次均失败。而且支持isapi的虚拟主机在国内是基本看不到的,倒是一大把的.net、php等虚拟主机。这其实也是阻碍iw应用的最大障碍之一,放到以前就因为部署问题,我是绝对不会采用iw进行生产性开发的,自己玩玩倒还可以。但是,现在.net部署方式来了,呵呵,iw也可以拥抱虚拟主机了。
1、新建一个“library”类型的iw应用,这种类型就是iw以asp.net mvc方式部署到iis上的工程类型。

2、添加业务单元引用,编译,准备部署(呵呵,就这么简单)
打开intraweb的安装目录,里面有个aspx文件夹
,把这个文件夹拷贝出来,例如拷贝到d:\aspx,打开拷贝的文件夹,里面的文件即为部署到.net应用所需的所有支持文件,其中需要修改的是web.config文件,把编译好的dll拷贝到这个目录,其它保持原样不动即可。
3、修改d:\aspx文件夹下面的web.config文件

如上,一共有4个地方需要修改,第一个是设置应用的虚拟目录,就是那个"wwwroot\aspx_test",如果是部署到web根目录下那么直接写成"value=wwwroot"即可,部署到虚拟主机上就不需要有虚拟目录,所以部署到虚拟主机上"value=wwwroot"。
第二个,设置library的存储路径,对于虚拟主机一般是不知道wwwroot的物理路径的,需要写个简单的aspx页面上传到虚拟主机上查看下wwwroot的物理路径,参考页面代码如下:

把这个代码存储成一个aspx文件并上传到虚拟主机上,打开这个页面即可获得wwwroot的物理路径。

取得的物理路径改写到“c:\web\features\featureslib.dll”上,后面的dll的名字就是刚刚编译出来的程序的名字。基本上这两步做完就可以了。剩下的第三步和第四步自己看看web.config中的注释吧,很简单,一般不需要设置。
3、使用FTP上传到虚拟主机开始测试应用

呵呵,简单吗?但是真的这么一帆风顺吗?No,小坑还是有的,第一要注意编译的程序的操作系统位数,如果虚拟主机的操作系统是64位的,而且虚拟主机添加的iis应用程序池不兼容32位应用,则iw必须使用64位编译。否则编译成32位也是可以的,但是具体是32位还是64位只能上传后试试看了。
另外,我使用的是阿里云虚拟主机,上传dll后必须要停止站点,再启动站点iw应用才可生效!切记。其它的虚拟主机也应该差不多。

再有注意.net虚拟主机的.net版本和池模式设置

能将iw应用部署在.net iis上非常重要,解决了部署问题才能让我们放心开发应用不是吗,所以请务必亲自尝试下,如果遇到什么问题可以在博客上留言。
最后附上iw官网上面的部署教程:intraweb官网aspx发布方式教程,我第一次就是严格按照教程来的,后来发现里面专门建立个用户什么的方式根本没必要,当然如果建立了也一定没问题,可是虚拟主机就肯定用不了了。
附上我云虚拟主机的部署文件供大家参考:下载
未完,待续。。。
下一次讲讲使用intraweb处理各种微信消息(文本、图片、语音、URL、地理位置信息等等)。
使用delphi+intraweb进行微信开发2—intraweb以.net方式发布(以asp.net mvc4模式部署)在IIS(.net虚拟主机)上的更多相关文章
- 使用delphi+intraweb进行微信开发3—微信消息处理
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. 在第二讲使用delphi+intra ...
- 使用delphi+intraweb进行微信开发4—微信消息加解密
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. 在上一讲当中我做了个简单的微信文本消 ...
- 使用delphi+intraweb进行微信开发1--微信平台接入
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. iw14.0.50来了,在新的版本中 ...
- 使用delphi+intraweb进行微信开发5—准备实现微信API,先从获取AccessToken开始
在前4讲中我们已经使iw开发的应用成功和微信进行了对接,再接下来的章节中我们开始逐一尝试和实现微信的各个API,开始前先来点准备工作 首先需要明确的是,微信的API都是通过https调用实现的,分为p ...
- 使用delphi+intraweb进行微信开发1~4代码示例
前几讲重点阐述的是使用iw进行微信开发的技术难点及解决方法,提供的都是代码片段(微信消息加解密是完整代码),实际上我始终感觉按照教程实作是掌握一门技术的最重要的方法!不过对于刚刚接触这类开发的朋友来说 ...
- EgretWing链接微信开发工具调试问题
EgretWing链接微信开发工具调试问题 EgretWing 编译器支持持三种调试模式,Node.js .Chrome .EgretWing 扩展开发. 开发过程中会遇到工具配置错误. 这就需要在E ...
- 服务器部署Java Web及微信开发调试
参考摘抄: 阿里云部署Java网站和微信开发调试心得技巧(上):https://www.imooc.com/article/20583 阿里云部署Java网站和微信开发调试心得技巧(下):https: ...
- Delphi XE7 用indy开发微信公众平台所有功能,可刷阅读,可刷赞,可加推广(除微支付)
http://www.cnblogs.com/devinlee/p/4565933.html Delphi XE7 用indy开发微信公众平台所有功能,可刷阅读,可刷赞,可加推广(除微支付) 关注作者 ...
- delphi 实现微信开发(1) (使用kbmmw web server)
原文地址:delphi 实现微信开发(1)作者:红鱼儿 大体思路: 1.用户向服务号发消息,(这里可以是个菜单项,也可以是一个关键词,如:注册会员.) 2.kbmmw web server收到消息,生 ...
随机推荐
- Wiki语料处理
最近在做知识图谱相关工作,源数据主要来自百度百科,互动百科,中文维基百科等.其中中文维基百科提供数据库下载,下文主要讨论如何处理Wiki数据. 1. 中文维基数据下载 下载dump:https://d ...
- 玩玩cordova(MAC安装环境)
PhoneGap/cordova为代表的基于HTML5开发iOS/Android应用的技术,大大降低了手机App的开发门槛.虽然目前与原生的Object-C/Java开发的应用在性能上还有差距,但是对 ...
- kernel/info.c
/* * linux/kernel/info.c * * Copyright (C) 1992 Darren Senn */ /* This implements the sysinfo() syst ...
- springMVC 返回json 忽略类中属性的注解
该注解使用在 类名,接口头上 @JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性 该注解使用在get方法头上 @JsonIgno ...
- cocos2dx 3.x tolua 分析
cocos2dx 3.x 版本已经出到3.10了,终于决定要进行引擎版本升级,c++配合lua进行游戏开发,从3.x版本开始cocos使用了新的tolua方式,由于不懂python,折腾tolua搞的 ...
- (转)AppiumLibrary基本操作
*** Settings *** Library AppiumLibrary Library Collections Library String Library Dialogs *** Test C ...
- [转] "self = [super init]"的解释与潜藏bug
Objective-C的推荐init方法写法如下: - (id) init { if(self = [super init]) { //为子类增加属性进行初始化 } return self; } 这里 ...
- 【OPENGL】第三篇 着色器基础(一)
在这一章,我们会学习什么是着色器(Shader),什么是着色器语言(OpenGL Shading Language-GLSL),以及着色器怎么和OpenGL程序交互. 首先我们先来看看什么叫着色器. ...
- 关于AJAX中status中12030与12031的错误
最近使用ajax调用一般处理程序时,出现外网调用不成功,内网调用成功,错误码为12030或12301的情况.当时在网上搜索了一些资料,有的说是因为文件中取了个中文名称导致的,有的是说要配置什么IIS之 ...
- 使用js创建对象
1.js创建关键字 //使用 New 关键字 function person(name,age){ this.name=name; this.age=age; } $(function(){ var ...