在VS中运行页面和发布之后在IIS中运行到底有什么区别
本帖最后由 chenou851123 于 2012-11-13 10:32:30 编辑 程序就一个页面使用了CodeSoft7.0的一个DLL(LabelManager2.dll),然后调用了这个DLL中的一个方法是用来改变局域网中选择那台打印机打印的函数。
设置:在运行中输入Dcomcnfg把“服务组件”---“DCOM配置”都里面用到的第三方DCOM属性安全里面所有用户的所有访问权限都加上了。
VS调试和IIS发布都是在我本地电脑,VS运行页面提交后,打印机提示打印成功;在本机同一台电脑发布后的IIS中运行页面提示:“打印机设置出错或拒绝访问”,请问VS中运行页面和IIS中运行页面到底有什么区别,是匿名用户访问的区别吗?(我在IIS中把匿名用户设置成ASPNET还是提示失败)
代码如下:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using LabelManager2;
using System.Collections.Generic;
using System.Reflection;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnPrint_Click(object sender, EventArgs e)
{
ApplicationClass lbl = new ApplicationClass();
try
{
lbl.Documents.Open(this.MapPath("Document2.lab"), false);// 调用设计好的label文件
Document doc = lbl.ActiveDocument;
//局域网打印机地址:\\MR50006433PC2\ZDesigner 110XiIII Plus 300DPI 和 \\MR50007967PC2\Zebra S4M (300 dpi) - ZPL
string printName=txtPrintName.Text.Trim();
//端口:LPT1:
string printPoint = txtPrintPoint.Text.Trim();
bool Ptflag = doc.Printer.SwitchTo(@printName, printPoint, true);
if (Ptflag)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('打印成功2!');</script>");
doc.PrintDocument(1);
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('打印机设置出错或拒绝访问!');</script>");
return;
}
}
catch (Exception ex)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('" + ex.Message + "');</script>");
}
finally
{
lbl.Quit(); //退出
}
}
}
}
[解决办法]
用iis发布后一些东西有权限问题,打印机出错可能是权限问题。
[解决办法]
直接给Users权限试试
[解决办法]
VS内置的IIS功能,将权限调到至高,如果VS能行,IIS不行,多半是权限问题
[解决办法]
应用程序池-右键属性-标识-修改为本地帐户试试