C# 为什么AspCompat=true会使我的asp web应用程序变慢?
我正在开发一个asp.net应用程序。 在这一页上,我有一个文本框和一个按钮。 当我点击按钮时,会出现一个弹出窗口,它会要求我将文本框的文本保存在我想要的路径上的文件中 这给了我错误 “在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式。请确保主函数上标记了STAThreadAttribute。只有在将调试器附加到进程时才会引发此异常” 为了消除这个错误,我对我的aspx文件进行了更改 中的AspCompat=“true”C# 为什么AspCompat=true会使我的asp web应用程序变慢?,c#,asp.net,C#,Asp.net,我正在开发一个asp.net应用程序。 在这一页上,我有一个文本框和一个按钮。 当我点击按钮时,会出现一个弹出窗口,它会要求我将文本框的文本保存在我想要的路径上的文件中 这给了我错误 “在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式。请确保主函数上标记了STAThreadAttribute。只有在将调试器附加到进程时才会引发此异常” 为了消除这个错误,我对我的aspx文件进行了更改 中的AspCompat=“true” 我的申请被挂了。 那么我怎样才能解决这个问题呢??
我的申请被挂了。
那么我怎样才能解决这个问题呢??
或者是否有其他方法来实现此功能??
为什么它使我的应用程序非常慢
另一方面,我创建了一个小型asp web应用程序,并做了同样的工作,比如我有一个带有一个文本框和一个按钮的页面,我想将文本框的数据保存到一个文件中。在这个应用程序中,它的工作非常好
从早上开始我就一直在讨论这个问题,我知道这个问题背后会有一些小把戏。在web环境中不能使用
SaveFileDialog
。这是针对Windows窗体的。混合使用Windows窗体组件和ASP.NET可能会产生不寻常的副作用,而且不会像您所希望的那样工作
这就是为什么我假设您注释掉了对
ShowDialog
的调用,看起来您正在尝试将Windows窗体应用程序直接转换为Web窗体应用程序。如果没有可怕的结果,这是不可能做到的。编程没有“诀窍”。唯一的诀窍就是理解你在做什么。您正试图在网站项目中显示Windows窗体控件(SaveFileDialog)。这将不起作用。另外,这是一个新问题,与此问题无关。是的,在客户端计算上,我对ShowDialog进行了注释,因为这一行给了我错误信息
protected void ButtonIDSaveAs_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Title = "Save an Image File";
//saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
using (StreamWriter sw = new StreamWriter(saveFileDialog1.OpenFile()))
{
sw.Write(TextBoxIDPVMContent.Text);
sw.Close();
}
}
}
catch (Exception ex)
{
// ex;
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ABC.cs" Inherits="XYZ" ValidateRequest = "false" %>