Maison  >  Article  >  développement back-end  >  Comment appeler une DLL dans un fichier ASP

Comment appeler une DLL dans un fichier ASP

怪我咯
怪我咯original
2017-03-30 13:30:071569parcourir

La bibliothèque de liens dynamiques (DLL) est une méthode importante pour accélérer l'exécution des parties clés de l'application, mais il y a une chose que la plupart des gens ne savent peut-être pas, c'est que le fichier ASP peut également être appelé en appelant la DLL Pour accélérer l'exécution du serveur, je présenterai brièvement les étapes d'appel de la DLL dans les fichiers ASP.
Tout d'abord, il doit y avoir un fichier DLL. Dans cet exemple, un fichier DLL ActiveX est créé via VB5.0. Ce fichier simule un processus de lancer de dés.
Dans l'environnement VB5.0, créez un nouveau projet et double-cliquez sur l'icône DLL ActiveX dans la fenêtre du nouveau projet. VB ajoutera automatiquement un module de classe au projet et définira le type de projet sur DLL ActiveX. Dans la fenêtre Propriétés, remplacez l'attribut name du module de classe par clsDice. Dans le menu Projet, sélectionnez Propriétés du projet et modifiez le nom du projet en MyDLL. Dans le menu Fichier, choisissez Enregistrer clsDice pour enregistrer le module de classe sous myDice.cls. Ajoutez le code suivant :

Option explicite

Private Max, Point As Integer

Public Property Get Result() As Integer

Result = Point

Propriété de fin

Propriété publique Get Maxpoint() As Integer

Maxpoint = Max

Propriété de fin

Propriété publique Let Maxpoint(num As Integer )

Max = num

End Property

Public Sub Throw()

Randomize

Point = Int(Rnd * Max ) + 1

End Sub

Private Sub Class_Initialize()

Max = 6

End Sub

Ce module de classe définit clsDice Deux propriétés et une méthode d'objet Ces propriétés et méthode simulent le processus de lancer de dés. Parmi eux, l'attribut Maxpoint représente le nombre de faces des dés. L'ajout de l'instruction Property Let permettra au client de modifier le nombre de faces des dés ; l'attribut Result représente le nombre final de dés lancés ; action de lancer les dés ; l'instruction Private Sub Class_Initialize Le nombre de faces par défaut est 6.

Dans le menu Fichier, choisissez Générer MYDLL.DLL et enregistrez-le à l'emplacement approprié. À ce stade, nous avons créé notre propre fichier DLL.

La deuxième étape consiste à référencer la classe clsDice dans le fichier ASP.

Tous les codes ASP (Active Server Pages) sont exécutés sur le serveur et les clients ne peuvent visualiser que les résultats renvoyés sous forme HTML. Il utilise les balises "<%" et "%>" pour identifier le code du script et ne le renvoie pas au client. En dehors du code, les balises HTML sont utilisées pour identifier le contenu. Dans le code de Dice.asp ci-dessous, la fonction CreateObject est utilisée pour créer une instance d'objet clsDice, qui provient du fichier ActiveX.DLL--MYDLL.DLL créé ci-dessus, comme suit Les exemples utilisent le langage de script VBScript.



'Chargez la bibliothèque de types spécifiée dans la balise METADATA. Le chemin est le chemin où mydll.dll est stocké sur la machine



Utiliser la DLL dans le fichier ASP 🎜><br>< body><br><br><%<br/><br/>On Error Resume Next 'Peut continuer l'exécution lorsqu'une erreur inattendue se produit dans le programme<br/><br/>If Request.Form(" T1")=" " then<br/><br/>Session("point") = 6<br/><br/>Else<br/><br/>Session("point")=Request.Form("T1")<br/><br/> End If<br/><br/>'Utiliser Session("point") pour stocker le nombre de faces de dés<br/><br/>Set dice1=Server.Createobject("MyDLL.clsDice")<br/> <br/>'Utiliser l'instruction set pour créer l'objet dice1, où MyDLL est le nom du projet lors de la création du fichier dll ci-dessus (remarque : pas le nom du fichier), et clsDice est le nom du module de classe. À ce stade, nous pouvons utiliser les attributs (méthodes) Maxpoint, Result et Throw pour opérer sur l’objet dice1. <br/><br/>If Request.ServerVariables("Request_Method")="POST" then<br/><br/>dice1.Maxpoint = Session("point") 'Définir le nombre de faces du dé<br/><br/> dice1.Throw 'Lancer les dés<br/><br/>%><br><br><form method="POST" action="dice.asp"><br><br><p>Quand Le nombre de dés est <input type="text" name="T1" size="5" value=<% = session("point") %>></p><br> <br><p><input type="submit" value="Lancer les dés" name="B1"></p><br><br></form><br><br>< p>Le résultat est :<% = dice1.Result %>Point</p> 'Retour du résultat<br><br><%<br/><br/>Else<br/><br/>dés1 .Maxpoint = Session("point")<br/><br/>%><br><br><form method="POST" action="dice.asp"><br><br><p>Lorsque le nombre de faces du dé est <input type="text" name="T1" size="5" value=<% = session("point") %>>< / p><br><br><p><input type="submit" value="Lancer les dés" name="B1"></p><br><br></form> <br><br><%<br/><br/>Fin Si<br/><br/>%><br><br></body><br><br> Le code ci-dessus est dans WINDOWS NT4 .0 +SP3+IIS4.0+IE5.0+VB5.0 compilé et exécuté avec succès, mais il existe encore de nombreux défauts. Cependant, mon intention initiale était de vous présenter comment appeler une DLL dans ASP, je ne me suis donc pas amélioré. il. </p> <div></div> <!--<p class='doc-content-pic doc-pic'><img src="https://img.php.cn/upload/article/000/000/006/75dc16751b8349a3ec25a6b299446fa4-0.jpg" / alt="Comment appeler une DLL dans un fichier ASP" > </p>--><p><br></p><p>Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!</p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Déclaration:</span><div>Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn</div></div></div><div class="nphpSytBox"><span>Article précédent:<a class="dBlack" title="Deux fonctions permettant à ASP de générer des mots de passe aléatoires" href="http://m.php.cn/fr/faq/359494.html">Deux fonctions permettant à ASP de générer des mots de passe aléatoires</a></span><span>Article suivant:<a class="dBlack" title="Deux fonctions permettant à ASP de générer des mots de passe aléatoires" href="http://m.php.cn/fr/faq/359497.html">Deux fonctions permettant à ASP de générer des mots de passe aléatoires</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Articles Liés</h2><em><a href="http://m.php.cn/fr/article.html" class="bBlack"><i>Voir plus</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/fr/faq/339563.html" title=".Net Core 之 图形验证码" class="aBlack">.Net Core 之 图形验证码</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/339607.html" title=".NET Core配置文件加载与DI注入配置数据" class="aBlack">.NET Core配置文件加载与DI注入配置数据</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/339782.html" title=".NET Core CLI工具文档dotnet-publish" class="aBlack">.NET Core CLI工具文档dotnet-publish</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/345608.html" title="asp.net利用.net控件实现下拉导航菜单的制作" class="aBlack">asp.net利用.net控件实现下拉导航菜单的制作</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/346494.html" title="Asp.net MVC中获取控制器的名称的方法" class="aBlack">Asp.net MVC中获取控制器的名称的方法</a><div class="clear"></div></li></ul></div></div><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/fr/"><b class="icon1"></b><p>Maison</p></a></li><li><a href="http://m.php.cn/fr/course.html"><b class="icon2"></b><p>Cours</p></a></li><li><a href="http://m.php.cn/fr/wenda.html"><b class="icon4"></b><p>Questions et réponses</p></a></li><li><a href="http://m.php.cn/fr/login"><b class="icon5"></b><p>Mon</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/fr/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/fr/"><b class="icon1"></b><span>Maison</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/course.html"><b class="icon2"></b><span>Cours</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/article.html"><b class="icon3"></b><span>Article</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/wenda.html"><b class="icon4"></b><span>Questions et réponses</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/dic.html"><b class="icon6"></b><span>Dictionnaire</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/course/type/99.html"><b class="icon7"></b><span>Manuel</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/xiazai/"><b class="icon8"></b><span>Télécharger</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/faq/zt" title="Sujet"><b class="icon12"></b><span>Sujet</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/fr/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/fr/" >Maison</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/article.html" class="hover">Article</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/wenda.html" >Questions et réponses</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/course.html" >Cours</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/faq/zt" >Sujet</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/xiazai" >Télécharger</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/game" >Jeu</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/dic.html" >Dictionnaire</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:setlang('ja');" class="language course-right-orders chooselan " href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>