-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Access to the path 'مسیر فایل' is denied
علت :
وقتی شما بخواهید در یکی از درایو های ویندوز فایلی مثل یک فایل word یا تصویر ایجاد کنید در حالی که در اون مسیر توسط ویندوز اجازه write کردن فایل رو ندارید و یا به هر دلیلی دسترسی به اون مسیر رو نداشته باشید با این خطا مواجه میشید.
راهکار :
مجوز write کردن رو در اون مسیر ویندوز به کاربر بدهید.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
علت :
این ارور برای زمانی هست که شما ایندکسی از یک مجمو عه رو صدا میزنید که وجود نداره . مثلا یه سطری از گرید رو صدا می زنید که وجود نداره یا یک عنصر از آرایه.
راهکار:
توجه به مقادیر index که صدا میزنید.
به نقل از :
http://www.barnamenevis.org/sh...d.php?t=227778
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Format of the initialization string does not conform to specification starting at index
علت :
هر گونه نادرست بودن فرمت connection string باعث این خطا خواهد شد.
مثال :
Provider=Microsoft.Jet.OLEDB.4:data Source=""C:\Documents and Settings\hr3333\Desktop\stools\people1\datads.mdb" ";Jet OLEDBdatabase:Password=pword"
این فرمت به دلیل داشتن " : " به جای " ; " به وجود اومده. انواع دیگری از خطاهای مشابه هم باعث بروز این خطا میشه. عموما چون در ویژوال استدیو connection string مربوط به sql رو از پنجره property کپی میکنند این مشکل به وجود نمیاد اما در استفاده از دیتابیس اکسس چون معمولا خود برنامه نویس باید این connectionstring رو بنویسه این نادرستی فرمت ها به وجود میاد.
راهکار :
دقت در نوشتن connectionstring
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Server Error in '/' Application.
علت :
1:
این خطا ممکن دلائل زیادی داشته باشه، که دو تا از مهمترینهاش، خراب بودن IIS/.NET FX و اجرا بصورت Partial Trust هستش. اگر برنامه بدون تغییر به این وضعیت افتاده، .NET Framework رو Uninstall کنید، IIS رو هم Uninstall کنید، سپس ابتدا IIS و بعد .NET FX رو نصب کنید. بخاطر داشته باشید که حتما Service Pack مربوطه رو نیز نصب کنید. چون در برخی موارد عدم نصب SP باعث این خطا میشه (بخصوص هنگام استفاده از Component های Telerik).
"به نقل از مهدی موسوی"
2:
وقتی مثلا یکجایی میخواهید مقدار substring رو بگیرید و به جای اینکه از مقدار int رو در پارامتر متد قرار بدید مقداری string ی رو قرار بدید.
string s = "wdsdd";
s.Substring("sss");
یا هرجایی که مقداری نامناسب رو به عنوان پارامتر به متد پاس بدید.
int.Parse(1)
3:
دلیل بروز چنین خطایی وجود نداشتن ایندکس مربوط به یک آرایه می باشد.
به غیر از این موارد من فعلا چیزی پیدا نکردم اما دلایل دیگری هم داره که به محض اطلاع اینجا درج خواهم کرد.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا:
Input string was not in a correct format
علت :
وقتی مقدار ورودی یک متد از نوع string باشد در حالی که شما مقداری Null یا نادرست رو به اون متد پاس بدهید با این خطا مواجه میشوید.
مثال :
int.Parse(مقداری bool یا null یا هر نوعی به جز string)
راهکار:
توجه به مقدار ارسالی برای تابع
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا:
The control with ID 'نام کنترل' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.
علت :
کنترل مورد نظر نیاز به استفاده از script manager دارد در حالی که از آن در کنترل استفاده نشده است.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
login failed for user 'IIS APPPOOL\DefaultAppPool'
راه حل : مسیر زیر را دنبال کنید :
control panel ->Application pools ->advance setting ...->Identity
حال در identity ،
application pools identity انتخاب شده که شما باید آن را local service انتخاب کنید
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
'نام کلاس' does not implement interface member 'نام کلاس.نام اینترفیس.نام متد(نوع مقدار پارامتر متد)' C:\Users\...\Documents\Visual Studio 2008\Projects\....\Class1.cs نام کلاس
علت :
وقتی مقدار پارامتر ورودی یک اینترفیس متفاوت از پیاده سازی آن در کلاسی باشد که از اینترفیس مورد نظر استفاده میکند با خطای زیر مواجه خواهید شد.
مثال :
public interface Itestinterface
{
void testMethod(int a);
}
namespace TestInterface
{
class Class1:Itestinterface
{
public void testMethod(string s)
{
.......
}
}
}
ر اهکار :
توجه به مقادیر ورودی اینترفیس
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
not all code paths return a value
علت:
در صورتی که متد یا property شما دارای مقداری برگشتی باشد در حالی که درون متد هیچ مقداری از نوعی که باید متد یا property برگرداند بازگشت داده نشود با خطای ذکر شده روبرو خواهید شد.
راهکار :
دقت
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Class 'نام کلاس' cannot have multiple base classes:
علت :
در صورتیکه یک کلاس را بخواهد از چند کلاس ارث بری کند خطای بالا ایجاد خواهد شد.
class Program:Class1,Class2
این خطا به این دلیل رخ میدهد که در C# یا vb ارث بری چند گانه معنی ندارد.
راهکار:
استفاده از interface به نسبت نیاز و ارث بری فقط از یک کلاس
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
The 'this' object cannot be used before all of its fields are assigned to
علت :
هنگامی که از struct استفاده میکنید برای دستیابی به property های آن در متدی از این struct باید از this(): بعد از نام متد استفاده کنید. در صورتی که از this() استفاده نکنید با خطای بالا مواجه خواهید شد. this() مقدار constructor پیش فرض را صدا زده و تمامی فیلد ها را initialize میکند.
struct UserActivityObject
{
internal UserActivityObject(string userName , long time)
: this()
{
Username=userName;
}
public String Username
{
get;
private set;
}
راهکار :
استفاده از this()
منابع بیشتر :
دلیل استفاده از this () :
http://stackoverflow.com/questions/2...roperties-in-c
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
The connection was not closed. The connection's current state is open
علت :
شما میخواهید به طور مجدد از connection ی استفاده کنید که هنوز باز است و close نشده است.
راهکار :
به کد هاتون دقت کنید. close رو در بلوک finally قرار بدهید نه در مثلا catch ,.... و خلاصه connection رو close() کنید.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
...There is no row at position
علت :
وقتی این خطا رخ میدهد که شما در یک گرید یا datatable و...روی سطری عملی انجام میدهید که این سطر وجود ندارد.
مثلا گرید 10 سطر دارد در حالی که شما مقدار سطر 11 را میخواهید چاپ کنید.
راهکار :
توجه به علت بیان شده.
منابع بیشتر :
http://forums.asp.net/p/1524889/3675372.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Server Error in '/' Application
Error message: authentication mode="Forms"
Regel 18: <authentication mode="Windows"> section. -->
Regel 19:
Regel 20: <authentication mode="Forms">
Regel 21: <forms name=".ASPXAUTH" protection="All" timeout="60" />
Regel 22: </authentication>
علت و راه حل به نقل از علیرضا مداح و Hossein Bazyan :
چون پروژه شما در Root Folder قرار نگرفته است، فایل web.config پروژه شما هم به عنوان یک nested web config در نظر گرفته خواهد شد و طبیعتا" یکسری از element ها همچون <authentication /> در آن قابل استفاده نیست، برای حل این مشکل یا وب سایت خود را به Root Folder منتقل کنید یا اینکه به داخل کنترل پنل وب سایت خود رفته و در تنظیمات مربوط به آن، یک Virtual Directory برای Application ایجاد نمایید،
به طور مثال در کنترل پنل Helm:
http://www.ihostASP.NET/HelmOverview...y_01_thumb.jpg
Virtual directories are critical for ASP/ASP.NET developers. They allow multiple ASP/ASP.NET applications to co-exist by creating virtual application roots where each application can have it's own global.asa/global.asax files. There are many other useful functions that can be accomplished by using virtual directories.
---------------------------------
با ساختن Virtual Directory مشکلشان رو میتونند حل کنند. در این حالت هاست این شاخه رو بعنوان شاخه ریشه میشناسد.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Row Handle is Invalid
علت و راهکار :
دلیل این خطا این است که شما مثلا با DataReader میخواهید روی سطری کار کنید که اصلا وجود ندارد ... یعنی برای مثال جمله Select چیزی در datareader نریخته باشد و شما به خیال اینکه در datareader چیزی هست میخواهید آنرا بخوانید .
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Server Application Unavailable
علت اول به نقل از مهدی موسوی(من عین عبارت را مینویسم) :
این مساله دلائل فراوانی میتونه داشته باشه، اما در مورد من داستان از این قرار بودش:
من چند تا Web Application متفاوت روی Server داشتم، که یکی از اونها با .NET Framework 1.1 نوشته شده بود و مابقی .NET 2.0 بودن. WebApp نوشته شده در .NET 1.1 از همون Application Pool ای استفاده میکرد که WebApp نوشته شده در .NET 2.0. و این مساله باعث میشد تا IIS نتونه Assembly های متناسب با نسخه مورد نظر رو Load کنه، و در نتیجه اون پیام رو هر از گاهی میگرفتم.
برای حل مساله، Application Pool جدیدی برای WebApp نوشته شده در .NET 1.1 ساختم، و اونو به این WebApp اختصاص دادم. حالا هر کدوم از Application ها، از App Pool خودشون استفاده میکردن و دیگه این مشکل رخ ندادش.
علت دوم :
این علت مربوط به باگی است که با توجه به ورژن دات نت و نوع ویندوز رخ میدهد..این خطا معمولا در دات نت 1 و ویندوز xp رخ میدهد. در زیر توصیحاتی جدولی آماده شده است :
.NET Framework Version Operating System Affected
1.0 Windows 2000 Professional No
1.0 Windows 2000 Server No
1.0 Windows XP Professional Yes
1.0 Windows Server 2003 No
1.1 Windows 2000 Professional No
1.1 Windows 2000 Server No
1.1 Windows XP Professional No
1.1 Windows Server 2003 No
برای اطلاعات بیشتر میتوانید به آدرس زیر مراجعه کنید.
http://support.microsoft.com/kb/827641
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Data source name not found and no default driver specified
علت :
در اتصال به بانک وقتی Connection string نادرستی رو وارد کرده باشید یعنی نام دیتابیس شما اشتباه باشه و یا آدرس دیتابیس اشتباه باشه و کلا مقداری در کانکشن استرینگ وارد کرده باشید که موجود نباشه با خطای بالا مواجه میشید.
برای مثال فرمت صحیح برای اکسس باید به صورت زیر باشه :
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
یا
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\myAccess2007file.accdb;Pers ist Security Info=False;
راهکار :
وارد کردن کانکشن استرینگ صحیح.
مراجعه به سایت :
http://www.connectionstrings.com/
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Invalid attempt to read when no data is present.
علت :
در صورتیکه datareader قصد خواندن مقداری را داشته باشدکه وجود نداشته باشد با این خطا برخورد خواهید کرد.
مثال :
reader["FutureSend"].ToString()
در کد بالا اگر فیلد FutureSend موجود نباشد اما شما با DataReader قصد خواندن آن را داشته باشید با خطای بالا روبرو میشوید.
راهکار :
توجه به توضیحات
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
The directory '/App_Code/' is not allowed because the application is precompile
علت و راهکار :
علت این خطا این است که شما وب سایت خودتان را publish کردید. در این حالت فولدر App_code اجازه ندارد که در فولدر محتویات سایت کپی شود و به جای appcode باید فولدر bin را به جای App_Code قرار بدید.
همچنین میتونید فایل PrecompiledApp.config رو remove کنید.
راه حل نهایی این است که وب سایت خود را دوباره publish کنید و تمامی فایل های حاصل از آن را در هاست کپی کنید.
اطلاعات تکمیلی :
http://forums.ASP.NET/t/1054626.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Both DataSource and DataSourceID are defined on 'نام گریدویو'. Remove one definition.
علت :
1: وقتی شما گرید یا repeater یا هر دیتا کنترل دیگری را یکبار با sqldatasource بایند کرده باشید و دوباره بخواهید آن را در همان پروسه به مثلا dataset یا datareader بایند کنید با خطای بالا مواجه میشوید.
2: شما نمی تونید همزمان هم مقدار sqlDataSource و هم مقدار SqlDataSourceID رو مشخص کنید. اگه در design دیتاسورس رو برای GridView تعیین می کنید، SqlDataSourceID مقدار دهی می شه.
راهکار :
یک بار در یک پروسه مثل لود صفحه دیتا کنترل خودتان را بایند کنید. در عیر اینصورت به خطای بالا برخورد میکنید.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
'نام کلاس' is a 'type', which is not valid in the given context
علت و راهکار :
وقتی از یک کلاس به درستی Instance نگیریم و در هر صورتی از یک کلاس به مثابه یک نوع یا type استفاده نشود با این خطا برخورد خواهیم کرد.
مثال :
System.NullReferenceException =new NullReferenceException();
در این مثال ما در حالت نمونه گیری از یک کلاس درست عمل نکردیم و همانطور که میبینید نامی برای نمونه ایجاد شده در نظر نگرفته ایم.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
is a 'Type' but is used like a 'Variable' نام کلاس
علت :
در صورتیکه از یک کلاس به اشتباه مانند یه متغیر یا متد استفاده شود با خطاهای بالا مواجه خواهیم شد.
راهکار :
از کلاس به درستی استفاده کنید!
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Is a method but is used like a type نام متد
در صورتیکه از یک متد به اشتباه مانند یک کلاس استفاده شود این خطا ایجاد خواهد شد.
مثال (البته این مثال استثنائا در حالت کنسولی است) :
namespace Ctest
{
class Program
{
static void Main(string[] args)
{
starmenu newMenu = new Ctest.Program.startmenu();
}
public int starmenu()
{
int choose = 0;
do
{
Console.WriteLine("1 – Option 1");
Console.WriteLine("2 – Option 2");
Console.WriteLine("3 – Option 3");
Console.WriteLine("");
string input = Console.ReadLine();
choose = Convert.ToInt32(input);
Console.WriteLine("**** " + choose + " ****");
} while (choose != 1 && choose != 2 && choose != 3);
return choose;
}
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا:
Microsoft JScript runtime error: 'Sys' is undefined
علت :
این خطا به علت تنظیمات اشتباه web.config میباشد.
راهکار :
تنظیمات زیر را برای وب کانفیگ اضافه و یا paste کنید.
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFact ory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFact ory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
اطلاعات کامل :
http://forums.ASP.NET/p/1030457/1412857.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.]
علت :
http://forums.asp.net/p/955145/1173230.aspx#1173230
راهکار:
در فایل web.config خط زیر را وارد نمایید.
<system.web>
<pages enableViewStateMac="false" />
</system.web>
البته در لینک زیر دوستان گفته بودن مقدار زیر رو وارد کنیم. به هر حال با وارد کردن مقدار بالا مشکل حل میشه اما من راهکار دوستان رو هم قرار میدم:
https://barnamenevis.org/showthread.php?t=235452
<machineKey validationKey="FBF509141F22D6A3B2359A593F24C41AB87 5DE7DE122EF17" decryptionKey="A1742572A487D94018787EF42682B202B12 3451891C1BAF4" validation="SHA1" decryption="AES"/>
در نهایت پنجره مرورگر خود را بسته و یکبار دیگر باز نمایید.مشکل برطرف خواهد شد.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
باگی که باعث بروز خطای زیر میشود:
ISessionIDManager.InitializeRequest has not been called for this request yet. In each request, please first call ISessionIDManager.InitializeRequest before calling other methods.
این یک باگ هست که توضیحات اون به همراه راه حل در زیر آمده است .
I always experience this problem when working with flash remoting. Disabling session state for the application seems to fix the problem, but that workaround is useful only if you don't require session state, so this seems to be related to session state.
On my latest project with flash remoting I do require session state, so this error is very irritating and difficult to figure out.
In the system event long, shortly before this error I see a message like "A worker process with process id of '2500' serving application pool 'DefaultAppPool' was shutdown due to inactivity. Application Pool timeout configuration was set to 20 minutes. A new worker process will be started when needed."
The strange thing is... the first request doesn't fail... the second one does. For example, the post to log in goes through successfully, but the post that immediately follows it causes the described error.
Posted by Triynko on 10/14/2009 at 7:14 AM
I also found this on another forum:
"Hi,
I don't know if you found a workaround, on my side I overrided the
default SessionIDManager and It fixes it.
You can use the following code :
public class CustomIDSessionManager:SessionIDManager
{
public override string CreateSessionID(System.Web.HttpContext
context)
{
return Guid.NewGuid().ToString();
}
public override bool Validate(string id)
{
try
{
Guid testGuid = new Guid(id);
if (id == testGuid.ToString())
return true;
}
catch
{
}
return false;
}
}
And make the correct configuration in the web.config file.
Maybe the default validate uses a none-threadsafe function ?..."
Posted by Triynko on 10/14/2009 at 2:02 PM
HAHA! I finally fixed it after all these years!
In the Application_PreRequestHandlerExecute method of FlashGateway.Controller.GatewayController:IHttpMod ule, it calls context.Items.Clear() on the HttpContext object, which inadvertently removes two ASP.NET session variables along with the two flash-remoting-related variables.
The workaround is to get rid of the Items.Clear call (assuming you've reverse engineered the source code like I have for customization and cutting out the irritating licensing module), and replace it with calls to Items.Remove for the following items:
"flash.result" {FlashGateway.IO.ASObject}
"flash.parameters" {System.Collections.ArrayList}
Doing so preserves these items:
"AspSessionIDManagerInitializeRequestCalled" (true)
"AspSession" {System.Web.SessionState.HttpSessionState}
By preserving those items, when HttpApplication.CompleteRequest is called and execution jumps to the EndRequest method, the System.Web.SessionState.SessionIDManager.CheckInit ializeRequestCalled method (called from the SessionIDManager.GetSessionID method and a few others up the stack) won't bomb when it sees that the "AspSessionIDManagerInitializeRequestCalled" item is no where to be found.
The previously posted work around using a custom session id manager only shows the Validate and CreateSessionID methods being overriden, but given what I've learned, it will only solve the problem if the GetSessionID method is overridden a well.
It's about time!
P.S. (always use application.CompleteRequest rather than response.End to avoid thread abort exceptions)
منبع :
http://www.barnamenevis.org/sh...d.php?t=227641
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Server Error in '/' Application.
Using themed css files requires a header control on the page. (e.g. <head runat="server" />).
علت و راهکار به نقل از همین سایت:
شما فایل رو در شاخه App_Themes قرار دادید.اگه اینطوره وارد صفحه و یا مسترپیجی که از اون استفاده کردید بشید و چک کنید که تگ Head ایا runat="server" داره یا نه
<head runat="server" >
_______________________
در مورد این خطا من خودم هم جستجو کردم اما به نتیجه ای نرسیدم و علتش فقط همینی بود که در بالا ذکر شد.
https://barnamenevis.org/showthread.php?t=236600
http://forums.ASP.NET/p/1555394/3823369.aspx
http://www.telerik.com/community/for...-the-page.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
به نقل از Engineer_Yasin
خطای Failed to generate user instance در IIS
Failed to generate user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed
حتما خیلی از شما با خطای بالا در IIS برخورد کردید خیلی ها براحتی این مشکل را حل می کنند. تو اینترنت هم بگردی تا دلت بخواد رفع این مشکل وجود داره و همه هم تو IIS 6 گفته شده، و به راحتی این مشکل برای IIS 6 و IIS 5 در ویندوز XP حل میشه.
من 2روز کل سایت ها را گشتم تا این مشکل را حل کنم البته واسه IIS 7 و ویندوز سون
فقط خواستم دیگه شما واسه این مشکل الکی وقت تلف نکنید
این مشکل با تنظیم Load User Profile در process model حل می شه برای اینکار مراحل زیر را دنبال کنید یا به آدرس داده شده بروید.
کد:
On Windows 7 under IIS choose the application pool and select advanced settings. Under process model change "Load User Profile" to yes. It should fix this.
اینم لینک صفحه
واسه رفع این مشکل در ویندوز xp و ویستا و ورژن های دیگه IIS لینک های زیر را پیشنهاد میکنم
MSDN Mirosoft
dotnettogo.com
مرجع:
https://barnamenevis.org/showthread.php?t=180321
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
failed to update database because the database is readOnly
علت و راهکار :
شما باید به هر دو فایل MDF و LDF اجازه read , write رو بدید و همچنین ممکنه در فولدری که این فایل ها موجوده اجازه read & write رو نداشته باشید. این permission ها رو باید بهش بدید.
نهایتا کار های زیر را انجام دهید :
1: مطمئن بشید که فولدر app-data یا هر دایرکتوری که فایل های دیتابیس شما در اون قرار داره روی read-only ست نشده باشه.
2: برای هر روی user های aspnet , NETWORK SERVICE در قسمت permission ها کنترل modify رو تیک بزنید.
3: برای refresh شدن permission ها iisreset رو run کنید .
4: (به نقل از aminghaderi)
شما از SQLExpres خود ویژوال استفاده کردین؟؟ برنامه تحت وب؟!
به نظرم من مشکلتون 99% مربوط به اون می شه ، از دیتاهاتون بکاب بگیرید یا جداولتون رو Detach کنید و یه SqlServer (با ورژنی که داری کارمی کنی 2005 یا 2008) نسخه Enterprise رو روی سرور (همون سیستمی که شبیه سرور درستش کردید) نصب کنید و دیتابیستون رو اونجا Atach کنید ، احتمالا مشکلتون حل خواهد شد.
دقت داشته باشید ، قبل استفاده کلاینت ها سرور باید روشن شده باشه (که معمولا اصلا خاموشش نمی کنند.).
برای اطلاعات بیشتر به لینک زیر مراجعه کنید :
http://forums.ASP.NET/p/889653/941457.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
The type or namespace name 'HashSet' could not be found (are you missing a using directive or an assembly reference?)
علت و راهکار :
اگر به MSDN رجوع کنید، پایین این صفحه نوشته این کلاس توی .NET 3.5 و 4.0 پشتیبانی میشه. بالای صفحه هم نوشته که این کلاس در فایل System.Core.dll پیاده سازی شده، پس باید مطمئن بشید که Reference به این فایل هم به پروژه شما اضافه شده.
اما نگران نباشید. از اونجاییکه CLR مربوط به .NET 2.0 تا 3.5 یکسان هستش، شما می تونید .NET 3.5 رو نصب کنید، فایل System.Core.dll رو به Reference پروژه خودتون اضافه کنید و از کلاس HashSet موجود بدون نگرانی استفاده کنید.
منبع:
http://www.barnamenevis.org/sh...d.php?p=979547
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
A potentially dangerous Request.Form value was detected from the client (ctl02="<h4>سیشی</h4>").
علت و راهکار :
جهت امنیت در وب سایت دات نت فریم ورک در صفحات ASP.NET مقداری به اسم ValidationRequest داره که در صورتیکه مقدار اون برابر true باشه اجازه رد و بدل تگ رو بین صفحات نمیده و اگر شما این کار رو انجام بدید با خطای بالا روبرو میشید.
اگه حتما مایلید تگ html بین صفحاتتون رد و بدل کنید یا باید html خودتون رو encode کرده و بعد بفرستید و یا بی خیال امنیت در این مقوله خاص بشید.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
"...is inaccessible due to its protection
علت :
این خطا زمانی رخ میدهد که شما از متغیر یا متدی در جایی استفاده میکنید که بخش مورد نظر دسترسی به این متد یا متغیر یا property ندارد.
راهکار :
در این حالت برای رفع خطا با توجه به سطوح امنیتی مورد نظر برای متد یا متغیر یا property اون رو public کنید.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا
An error was encountered. Please return to the previous page and try again
این خطا در هنگام عضویت اگر رخ بده باید :
یک کانکشن استرینگ درست به دیتا بیس membership بدهید تا خطا رفع شود.
منبع :
https://barnamenevis.org/showthread.php?t=247703
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.
احتمالا شما گرید ویوو یا هر چیز دیگه خودتون رو دارید در هنگام page-load بایند (Bind) میکنید. در این حالت چه اتفاقی میافته؟ در این حالت کنترل های شما هر بار در موقع page-load از نو ثبت میشن و این به این معنی هست که Viewstat ما گم میشه. ما کنترلی رو که باعث رویداد POSTBACK شده رو گم کردیم و در این حالت دات نت یک خطا رو نشون میده.
برای رهایی از این مشکل شما باید کاری شبیه کد زیر انتجام بدید.
فرض میکنیم کد های قبلی شما اینطوری بوده :
protected void Page_Load(object sender, EventArgs e) {
GridView1.DataSource = Enumerable.Range(0, 5);
GridView1.DataBind();
}
حالا کد های بالا رو به صورت زیر اجرا کنید
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack){
GridView1.DataSource = Enumerable.Range(0, 5);
GridView1.DataBind();
}
}
اطلاعات بیشتر :
http://weblogs.asp.net/davidfowler/a...acontrols.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
مسیر فایل Could not find a part of the path
دوست عزیز احتمالا شما مسیر دستی دادین برای اینکار باید از
کد:
Server.MapPath("../../DirectoryB/SubDirA/SubDirA1/")
و به پوشه که می خواهین فایل رو اپلود کنید به اون permission بدید .
اینم یه لینک که امیدوارم به دردتون بخوره
http://www.c-sharpcorner.com/UploadF...8/Default.aspx
مرجع :
https://barnamenevis.org/showthread.php?t=249169
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster
علت :
این خطا حاصل یک باگ در .net framework 2 هستش.
در صورتی به این خطا برخورد خواهید کرد که :
* از SqlDataSource در اون صفحه استفاده کرده باشید
* استفاده از <asp:BoundField> در گرید
*استفاده ازDataKeyNames در GridView
راه کارها:
1:
در فایل web.config خط زیر را وارد نمایید.
<system.web>
<pages enableViewStateMac="false" />
</system.web>
پنجره مرورگر خودتون رو را بسته و یکبار دیگر باز کنید.مشکل برطرف خواهد شد.
2:
ابتدا تگ زیر را به web.config اضافه کنید :
<machineKey validationKey="A96B2F3BF50A1A2A1B81214A550B89F2A31 8B3712FB5AC8CD82AF4F3925B3C6ED58CF5F38503629A78BF8 C27B1B736C4E84DACE342AB83A42932B44EBC3D7601" decryptionKey="D01201C69DF5E9863133028CBD4E6EEFC45 B5E609D7F4107" validation="SHA1" />
سپس تگ pages را به صورت زیر تغییر دهید :
<pages enableViewStateMac="true" enableEventValidation="true" viewStateEncryptionMode="Always">
اطلاعات بیشتر :
http://forums.asp.net/t/955145.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
"Service not available, closing transmission channel. The server response was: Cannot connect to SMTP server ["آی پی و پورت"]209.85.129.111 (209.85.129.111:25), connect error 10051" System.Exception {System.Net.Mail.SmtpException}
این خطا در هر حالتی به این دلیل رخ میده که سرویس smtp شما غیر فعال باشه و یا IP و پورت ایمیل سرور شما اشتباه وارد شده باشه. آخرین احتمال اینه که چیزی مثل FireWall یا آنتی ویروس در سیستمتون باشه که پورت و یا دسترسی به اون IP رو مسدود کرده باشه.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
Invalid value for key 'integrated security'
علت و راهکار :
connection string خودتون رو چک کنید . integrated security باید برابر یکی از مقادیر زیر باشه.
Integrated Security=SSPI;
Integrated Security=true;
همچنین مقدار Integrated Security=SSPI; برابر با مقدار "Trusted_Connection=yes" هست و میتونن جای هم به کار برن.
نهایتا به وب سایت
www.connectionstrings.com مراجعه کنید. مشکلتون حتما حل میشه.
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
A connection was successfully established with the server, but then an error occurred during the pre-login handshake
یکی از کارهای زیر را انجام بدید:
1: در connection string مقدار connect timeout رو افزایش بدید.
2: کلیه Named Pipes , TCP/IP , VIA ها رو enable کنید.
3: در کانکشن استرینگ pooling = false قرار بدید.
4: اجازه دسترسی از راه دور وجود ندارد!" در نتیجه باید تنظیمات SQL Server را بررسی و برای یک یوزر خاص تاییده های مورد نظر را صادر کنید.
5: فایر وال یا آنتی ویروس خودتون رو چک کنید که اجازه remote only رو داده باشه.
6: در صورتی که هیچ کدامشان جواب نداد باید با sql profiler ببینید که کدام یک از عملگرها ی کلاینت باعث قطع اتصال با دیتابیس میشود و همچنین server errorlog یا application event رو چک کنید تا گره کارتون رو پیدا کنید.
مطالعه بیشتر :
http://social.msdn.microsoft.com/for...-15eebbb439cd/
http://forums.asp.net/p/1177161/1985326.aspx
-
نقل قول: مرجع کامل خطاها و BUG ها در ASP.NET
خطا :
"Sys.WebForms.PageRequestManagerServerErrorExcepti on: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500"
این خطا وقتی رخ میده که اولا شما از آپدیت پنل استفاده کنید و در عین حال validationRequest صفحه شما true باشه.
راهکارهای زیر رو امتحان کنید :
1: validationRequest رو برابر false قرار بدید
2: <asp:UpdatePanel UpdateMode="Conditional" ID="CenterContentPanel" runat="server" RenderMode="Inline">
رو با
<asp:UpdatePanel UpdateMode="Always" ID="CenterContentPanel" runat="server" RenderMode="Inline">
عوض کنید
اگه مورد دیگه ای هم بود باز هم اینجا بروز رسانی میکنم