问题描述
做安卓app的服务端,二维码扫描后从服务端下载apk文件客户需要统计apk的下载量为了不改其他地方我的想法是在web中加一个httpmodule判定当请求路径为某个特定路径时调用三层将下载量+1在本地调试是没有问题的但用外网访问的话module的代码没有进请教下这是什么问题代码如下:请赐教!!!
解决方案
解决方案二:
HttpModule的部署与web服务器部署有关,绝非是放到asp.net里边上传一下就行的。如果考虑可靠,其实最直接的办法是使用asp.net成熟的机制,例如使用Global.asax来拦截请求(这就从IIS5以上都支持),或者使用ashx来重定向跳转一下。实际上,如果你们有技术产品设计人员,那么应该是这样的思路:应该访问一个统一的url来下载手机客户端,例如http://www.abc.com/mobile/prod_01然后这个页面根据客户端(iOS、Android、WinPhone、黑莓、windowPC端、macPC端、LinuxPC端等等)的不同,下载不同的安装包。实现规划好url,这才是好的产品。
解决方案三:
实现规划好,明白自己的能力完全可以逐步实现,这就是好的程序设计人员。而选择实现方法时,则不应该单单追求什么时髦、(过度)抽象、高大上。当有着传统的方法去实现时,切忌像个19岁的小孩子一样靠感觉去选择技术。
解决方案四:
引用1楼sp1234的回复:
HttpModule的部署与web服务器部署有关,绝非是放到asp.net里边上传一下就行的。如果考虑可靠,其实最直接的办法是使用asp.net成熟的机制,例如使用Global.asax来拦截请求(这就从IIS5以上都支持),或者使用ashx来重定向跳转一下。实际上,如果你们有技术产品设计人员,那么应该是这样的思路:应该访问一个统一的url来下载手机客户端,例如http://www.abc.com/mobile/prod_01然后这个页面根据客户端(iOS、Android、WinPhone、黑莓、windowPC端、macPC端、LinuxPC端等等)的不同,下载不同的安装包。实现规划好url,这才是好的产品。
谢谢!很受教!因为在开发初期二维码生成的路径是文件的下载路径,而二维码是肯定不能动的所以没有考虑用handler请问下global在哪个事件里监听用户的请求路径呢?我只知道里面有applicationstratend和sessionstartenderror
解决方案五:
本地调试当然没问题因为你发布到网上之后默认的apk都无法下载.所以要下载apk需要设置IIS引用
IIS服务器不能下载.apk文件的解决步骤:打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性;单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口;单击“新建”,建立新的MIME类型;扩展名中填写“.apk”,MIME类型中填写apk的MIME类型“application/vnd.android.package-archive”单击“确定”保存设置。重启IIS,使设置生效。现在使用IIS服务器的网站就可以下载.apk文件了。
解决方案六:
你部署到iis几,版本不同配置文件的配置可能不同。
解决方案七:
引用4楼diaodiaop的回复:
本地调试当然没问题因为你发布到网上之后默认的apk都无法下载.所以要下载apk需要设置IIS引用
IIS服务器不能下载.apk文件的解决步骤:打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性;单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口;单击“新建”,建立新的MIME类型;扩展名中填写“.apk”,MIME类型中填写apk的MIME类型“application/vnd.android.package-archive”单击“确定”保存设置。重启IIS,使设置生效。现在使用IIS服务器的网站就可以下载.apk文件了。
我已经在MIME中加了apk这个不是能不能下载的问题是不进module下载依然可以下只是不执行module中的方法
解决方案八:
引用5楼skyandcode的回复:
你部署到iis几,版本不同配置文件的配置可能不同。
IIS6server2003r2
解决方案九:
你程序池用的模式也是和你本地一致的么
解决方案十:
引用8楼uinatlex的回复:
你程序池用的模式也是和你本地一致的么
你是说iis的应用程序池模式?集成还是经典?
解决方案十一:
引用2楼sp1234的回复:
实现规划好,明白自己的能力完全可以逐步实现,这就是好的程序设计人员。而选择实现方法时,则不应该单单追求什么时髦、(过度)抽象、高大上。当有着传统的方法去实现时,切忌像个19岁的小孩子一样靠感觉去选择技术。
按你的说法我在global.asax中加了一个application_beginrequest方法在方法中让下载量+1本地调试没有问题用外网访问依然是没有效果
解决方案十二:
问题已解决在iis中ISAPI处理的后缀名里添加.apkmodule就可以拦截到了
解决方案十三:
引用11楼qq229943249的回复:
问题已解决在iis中ISAPI处理的后缀名里添加.apkmodule就可以拦截到了
感觉这个太草率了,还是单独放一个页面做下载链接好多了,不过这个出问题都是出在配置和权限。