csdn10年中间经典帖子
源代码在线查看: csdn_文档中心_在vc编写的组件中使用asp对象.htm
CSDN_文档中心_在VC编写的组件中使用ASP对象
href="CSDN_文档中心_在VC编写的组件中使用ASP对象.files/csdn.css" rel=stylesheet>
.title0 {
COLOR: #ffffff; FONT-FAMILY: arial; FONT-SIZE: 17px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.title2:link {
COLOR: #000000; TEXT-DECORATION: none
}
A.title2:visited {
COLOR: #000000; TEXT-DECORATION: none
}
A.title2:active {
COLOR: #ff0000; TEXT-DECORATION: none
}
A.title2:hover {
COLOR: #ff0000; TEXT-DECORATION: none
}
function submitlog(sign)
{
var types=document.alogon.type.options[document.alogon.type.selectedIndex].value;
if (document.alogon.name.value!="" && document.alogon.pass.value!="")
{
if (types!="1")
document.alogon.action="http://www.csdn.net/member/logon.asp";
else
document.alogon.action="http://expert.csdn.net/member/logon.asp";
if(sign)
document.alogon.submit();
//return true;
}
else
{
if (document.alogon.name.value=="")
alert("请输入用户名!");
if (document.alogon.pass.value=="")
alert("请输入密码");
return false;
}
return true;
}
function GetMyPass()
{
if (document.alogon.name.value!="")
{
document.alogon.action="http://www.csdn.net/member/getpass.asp";
document.alogon.submit();
}
else
{
alert("请在姓名输入框里输入用户名或注册EMAIL!");
}
}
// -->
href="http://www.csdn.net/member/login.asp">登
录.. target=_blank>[注 册] href="http://www.csdn.net/member/login.asp"> color=#ffff33>忘记密码 href="http://www.csdn.net/member/logonout.asp"> color=#ffff33>注销登录
src="CSDN_文档中心_在VC编写的组件中使用ASP对象.files/top_1.gif" width=20>
color=#ffffff> class=FormText_1 name=type> 新闻标题
软件名称 商品名称 value=4>文档标题 职位名称
src="CSDN_文档中心_在VC编写的组件中使用ASP对象.files/csdn.gif" width=120>
var rand = Math.random().toString();
var ordval = parseInt(rand.substring(2,4));
function Showad(width)
{
if(width=='468')
{
document.write(" ");
return;
}
if(width=='120')
{
document.write("");
return;
}
return;
}
Showad('468')
Showad('120')
class=title0>csdn.net
width=770>
scrollDelay=80>
document.write("");
document.ns = navigator.appName == "Netscape"
tmpDate = new Date();
date = tmpDate.getDate();
month= tmpDate.getMonth() + 1 ;
if(document.ns)
{
year1=tmpDate.getYear()
year= year1.toString().substr(1,2);
}
else
year= tmpDate.getYear();
document.write(year);
document.write(".");
document.write(month);
document.write(".");
document.write(date);
// -->
CSDN - href="http://www.csdn.net/develop/">文档中心 - color=#003399>Visual C++
color=#ffffff>标题
在VC编写的组件中使用ASP对象 ghj1976(转贴)
关键字
在VC编写的组件中使用ASP对象
color=#ffffff>出处
href="http://home.kzinfo.net/getc/200101/20010116001.htm">http://home.kzinfo.net/getc/200101/20010116001.htm
cellSpacing=0 height=400 width=608>
讨饭猫翻译简介
本文用一个简单的sample演示如何在VC++
ATL编写的组件中调用我们熟悉的ASP对象(Request,Response,Session等等)。你会发现在 Visual
C++中使用 ATL Object
Wizard就可以达到我们的目的。但使用OnStartPage,OnEndPage事件并不是最佳方法。
在IIS3.0中,组件能通过IscriptingContext
接口存取ASP内建对象,但这是通过页面级方法来存取内建对象。现在有了一种更好的实现方法,就是利用ObjectContext对象直接存取。ObjectContext使IIS应用有更好的扩展性,提供更完善的事务处理功能。强烈建议你把原有的应用转换到这种方式,但要求你的应用支持事务处理。
代码
首先需要包含一些必要的库文件。我们需要mtx.h来定义一些常量,通过mtxas.dll得到IobjectContext接口,通过asp.dll得到ASP对象。
#include #import
"c:\Winnt\system32\mts\mtxas.dll" #import
"c:\Winnt\system32\inetsrv\asp.dll"
然后,我们调入IobjectContext接口。
MTxAS::ObjectContextPtr pObjectContext;
HRESULT hr = GetObjectContext((IObjectContext**)
&pObjectContext); 下一步,通过context
对象得到我们需要的东西。这里举两个例子:session和response。 //Session Object
CComVariant v; CComBSTR bstr(L"Session");
CComQIPtr(IGetContextProperties)>
pProps(pObjectContext); hr =
pProps->GetProperty(bstr, &v); CComPtr pDisp;
pDisp = V_DISPATCH(&v);
CComQIPtr(ASPTypeLibrary::ISessionObject)>
pSession(pDisp); //Response Object
CComVariant v; CComBSTR bstr(L"Response");
CComQIPtr(IGetContextProperties)>
pProps(pObjectContext); hr =
pProps->GetProperty(bstr, &v); CComPtr pDisp;
pDisp = V_DISPATCH(&v);
CComQIPtr(ASPTypeLibrary::IResponse)>
pResponse(pDisp); 最后来一个使用这个对象得简单例子。
//Retrieve a value from the Session Object.
CComBSTR bstrVarName(L"TestSessionVar");
VARIANT* pValue;
pSession->get_Value(bstrVarName, pValue);
//Write that value out to the browser.
pResponse->Write(pValue); 总结
虽然这只是一个很简单的在VC++编写的组件中调用ASP
内建对象的例子,你可以按这个原理做更多的事情。Good luck。
width=770>
color=#ffffff>对该文的评论
width=770>
color=#ffffff>我要评论
你没有登陆,无法发表评论。 请先 href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=3524">登陆
href="http://www.csdn.net/expert/zc.asp">我要注册
href="http://www.csdn.net/intro/intro.asp?id=2">网站简介 - href="http://www.csdn.net/intro/intro.asp?id=5">广告服务 - href="http://www.csdn.net/map/map.shtm">网站地图 - href="http://www.csdn.net/help/help.asp">帮助信息 - href="http://www.csdn.net/intro/intro.asp?id=2">联系方式 - href="http://www.csdn.net/english">English
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"> border=0 height=48 src="CSDN_文档中心_在VC编写的组件中使用ASP对象.files/biaoshi.gif"
width=40>
百联美达美公司 版权所有 京ICP证020026号
Copyright © CSDN.net, Inc. All rights
reserved