C#访问COM的组件在VS中能正常访问部署到IIS上无法访问。我调用的方法和你一样遇到的问题也和你之前遇到的一样请问你最后是怎么解决的?
看代码意思是获取某个网站的cookie,没什么意义,这个是获取服务器的cookie,可访问不了实际访问者的cookie,除非访问者是在服务器打开ie浏览器进行访问,这种功能不是b/s系统做的。
奇怪的事情是这样的,在iis7里的asp.net里调用com组件获取不到数据,可是在vs2010自带的调试器里可以获取到数据。
http://localhost:4440/aspNet/tz2.aspx (vs 2010)
http://localhost:8080/aspNet/tz2.aspx (iis 7)
tz2.aspx.cs的代码如下:
[code=C]protected void Page_Load(object sender, EventArgs e)
{
xxxx.xxxx money = new xxxx.xxxx();
hjx398.InnerText = money.cookieText;
}[/code]
xxxx组件的代码如下:
[code=C]public class xxxx
{
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetGetCookie(string lpszUrlName, string lpszCookieName, StringBuilder lpszCookieData, ref int lpdwSize);
public xxxx()
{
int size = 1000;
StringBuilder stringbuilder = new StringBuilder(size);
InternetGetCookie(s_网站+"/cl/index.php?module=System&method=Live", null, stringbuilder, ref size);
var cookies = stringbuilder.ToString();
cookieText = cookies;
}
[/code]
有谁知道这个是为什么?不要问为什么那么多xxxx?请用中文解释!谢谢!