چند سوال مبتدیانه در مورد aspx

سلام
من تو apsx تازه کارم و چند تا سوال دارم :
1- من یه webproject با c# درست کردم حالا میخوام بدمش به یکی دیگه.باید چکار کنم.همون فولدری رو که visual studio داره باهاش کار میکنه رو بدم , publish کنم یا .....
2- وقتی تو ie میزنم localhost یه پنجره میده که از من username و password میخواد.هر کاری میکنم نمیتونم ازش رد بشم.فکر میکنم باید یه چیز پیش فرض باشه ولی خب من ازش اطلاعی ندارم.اینم راهنمایی کنید چجوری رد کنم.
3- وقتی یه سایت رو بخوام نشون بدم فقط به IIS نیاز دارم یا چیزای دیگه ای هم نیازن.مثلاً وقتی visual studio بازه من میتونم پروژم رو ببینم.وقتی اون بستس چند مدل ارور و چیزای دیگه میده. مثلاً اولین اروری که میده به فایل config هست.به اون قمست authentication گیر میده.این ارور ها رو وقتی میده که visual studio بستس و من میزنم مثلاً : localhost/project1
4- اگه بخوام غیر از debug mode جور دیگه ای پروژه رو run کنم چکار بایدکنم.اصلاٌ چه mode های دیگه ای داریم و فرقشون چیه.
در مورد هر کدوم دوستان مطلبی داشتن خوشحال میشم بشنوم ولی اگه مقاله ای هم بود اونم ایراد نداره بزارین.

ممنون
 

MDP

Well-Known Member
خوب همش رو سرچ کنید توی انجمن هست.پیدا می کنید.

ولی تیتر وار جواب ها اینه :

1 - شما برای اینکه برنامه رو به کسی بدید باید Publish کنیدش ( منوی Build و یعد Publish )

2 - شما باید توی IIS روی فلدر برنامه راست کلیک کنید و اونو به Virtual Directory تبدیل کنید.

3 - شما فقط به IIS نیاز دارید.وقتی VS بازه خودش برای شما یک وب سرور مجاز جدا از IIS می سازه.به خاطر همینه که وقتی می بندین VS رو اررور میده.چون اون وب سرویس بسته میشه.

4 - یه حالت Release هم هست که با CTRL + F5 می تونید اجرا کنید.

حالت Debug هم از اسمش معلومه وقتی شما دارید روی سایت کار میکنید برای اینکه بتونید برنامه ور خطا یابی کنید دیباگ فعال میشه.

و اگر اروری باشه به شما جاش رو نشون میده.

سوال دیگه ای بود در خدمتم.
 
ممنون.من شرمنده ام.هر چی من میپرسم فقط شما زحمت میوفتی.دوستان دیگه ای تو این انجمن نیستن یا ...
من تو انجمن php پست میدم این خبرا نیست که همش یکی جواب بده و بقیه فقط نگاه کنن.
به هر صورت ممنون از راهنماییت.در مورد اون دومی یه کم توضیح میدی.من iis رو اوردم و روی پوشه پروژم کلیک راست کردم.یه properties داشت که چیزی توش پیدا نکردم.و یه new -> virtual directory داشت که زدم و همون پوشه رو دادم.ولی بازم وقتی میزنم localhost/project1 هیچی نمیاره و can not find میزنه.
بازم ممنون
 

m1pfard

Member
راستش شايد بزرگترين دليلش اين باشه كه مدير اين بخش از همه فعالتره و قبل از همه پستها رو ميبينه و جواب ميده كه اين جاي تشكر داره
ولي براي مشكل شما همون حرفها رو يه بار ديگه تكرار ميكنم:
1- پروژه رو Publish كنيد به يه پوشه اي.
2- تو IIS يه Virtual Directory ايجاد كنيد و مسيرش رو هم به همون پوشه بدين
3- در صورت نياز تنظيمات ديگه از قبيل PRIMISION ها رو هم ست كنيد.
4- اگه حل نشد ببينيد كه آيا اصلا iis براي يه html و يا يه asp كلاسيك ساده جواب ميده؟
 
راستش شايد بزرگترين دليلش اين باشه كه مدير اين بخش از همه فعالتره و قبل از همه پستها رو ميبينه و جواب ميده كه اين جاي تشكر داره
ولي براي مشكل شما همون حرفها رو يه بار ديگه تكرار ميكنم:
1- پروژه رو Publish كنيد به يه پوشه اي.
2- تو IIS يه Virtual Directory ايجاد كنيد و مسيرش رو هم به همون پوشه بدين
3- در صورت نياز تنظيمات ديگه از قبيل PRIMISION ها رو هم ست كنيد.
4- اگه حل نشد ببينيد كه آيا اصلا iis براي يه html و يا يه asp كلاسيك ساده جواب ميده؟
ممنون از راهنمایی هاتون.راستش من php کار هستم و از اینجا به بعد سوال هایی رو که دارم با یه مثال تو php میگم.مشکل من در مورد این که بتونم سایت رو نمایش بدم حل شد.(با همون virtual directory تونستم کار بکنم).حالا یه مشکل جدید:من واسه کار با بانک اطلاعاتی از کد استفاده کردم و از چیزای ویژوال خود vs استفاده نکردم.(مثلاً از dataset و ...)حالا وقتی میخوام با سایت کار کنم دیگه اون ارور نمیده و یه ارور واسه db میده.اروری هم که میده مربوط به login کردن به بانک هست و میگه که با این username که دادی نمیشه به بانک login کرد.من با همون یوزر وقتی که vs بازه دارم با سایت کار میکنم و مشکلی هم نداره.تو خود sql server هم رفتم و یوزری که sql server داده بود رو بهش دادم(یعنی از قبل هم همون بود و سایت از اولش هم با همون کار میکرد.ولی همونجوری که گفتم وقتی که سایت رو با vs میارم بالا (f5 میزنم!) با db مشکلی نداره ولی الان که دارم بدون vs کار میکنم ارور میده.)حالا اگه بخوام مثال بزنم ما تو php سروری رو که برنامه برای بانک میخواد localhost میدیم و بقیه اطلاعاتی که میخواد رو اگه بدونیم (که اگه حالت پیش فرض باشه یوزر هست root و پسورد خالیه) میزنیم و اگه ندونیم میریم از تو خود mysql در میاریم.حالا من این سرور رو به مصیبت تونستم پیدا کنم حالا اگه بخوام یه بار دیگه درش بیارم از کجا باید پیداش کنم!(آخه من دفعه اول vs رو دور زدم و از خودش استفاده کردم! .)حالا نمیدونم این چیزایی که گفتم مثلاً سرور بانک و یوزر و پسوردش رو کجا دقیق نوشته.
ممنون
 

m1pfard

Member
تنظيمات مربوط به connection معمولا تو فايل web.config ذخيره ميشه. اين فايل پيكره بندي برنامتون هست و بيشتر تنظيمات سايتتون رو دربرداره.
تو اين فايل تگ <connection>...</connection> رو پيدا كنيد اونجا مي تونيد آدرس ديتابيس، نام ديتابيس و نام كاربري و كلمه عبور مربوطه رو ببينيد.
نمونه:

http://www.connectionstrings.com/
 
بازم ممنون.حالا یه مشکل دیگه:من رفتم و اون پیغامی که برای اتصال به بانک میداد رو ( یعنی The user is not associated with a trusted SQL Server connection)رو یه جوری حل کردم(اومدم tcp/ip و pip رو enable کردم).حالا داره یه گیر دیگه میده.پیغامی که این دفعه میده اینه : Cannot open database prj requested by the login_ The login failed_brLogin failed for user 'DAN-393694E03DDASPNET'_
من از sqle xpress 2005 استفاده می کنم.
راستی اون بخش <connection>...</connection> رو من تو web.config پیدا نکردم!
در ضمن connection string ی که الان دارم استفاده میکنم هست :
Integrated Security=true;Initial Catalog=prj;Data Source=.\\sqlexpress;
اگر هم که فکر میکنید کدی لازمه بفرمایید تا کل پروژه(!) رو بزارم.(البته پروژه که چه عرض کنم. 4 تا فایل بیشتر نداره و فقط یه تسته برای یه سیستم login فوق العاده ساده!)
 

mo.esmp

Member
آیا ديتابيس رو به sql server اضافه(attach) کردید ؟
 
آخرین ویرایش:

mo.esmp

Member
Sql Server Management Studio رو باز کنید و در سمت راست در قسمت Object Explorer بر روی Databases کلیک کنید ببینید دیتابیس خودتون رو می بینید ؟
 
توی اون قسمت میتونم دیتا بیس رو ببینم.توی connectin string هم دیتا بیس رو attach کردم.ولی اونجوری یه ارور دیگه میداد.:cry:
 

mo.esmp

Member
پيشنهاد من اينه که برنامه رو در حالت Debug Mode اجرا کنيد و مرحله به مرحله پيش بريد تا ببينيد خطای برنامه دقيقا در کدوم خط.
 
من هم دقیقاً همین کار و کردم و جایی که میخواد connection رو open کنه ارور میده.من کل فایل هامو میزارم با بانکش اگه میشه یه نگاهی بهش بندازین ببینین این مشکلات واسه چیه.ممنون:cry:
 

پیوست ها

  • prj.rar
    103.5 کیلوبایت · بازدیدها: 3

mo.esmp

Member
من وقتی database رو به sql server اضافه(attach) کردم پروژه شما با موفقيت اجرا شد. درضمن شما در صفحه login_check.aspx از يه connection string دیگه استفاده کرديد. اشکال کاره شما اينه که connection رو بين visual studio و database ايجاد کرديد در حالی که بايد connection رو بين database و sql server ايجاد کنيد. فکر نکنم database رو به sql server attach کرده باشيد واسه همين connection ايجاد نميشه.
 
ممنون دوست عزیز که زحمت کشیدین و فایل ها رو دیدین.این فایل هایی که من درست کردم کارشون به این قراره که یه نفر تو فایل register.aspx میتونه ثبت نام کنه و بعد تو فایل login.aspx میتونه وارد سایت بشه.اون فایل login_check.aspx هم برای کسانی که login کردن قابل مشاهده هستش.این مواردی رو هم که شما اشاره کردی من نمیدونم کجا و چجوری باید اعمال کنم.مشکل اول من این بود که کوکی تو فایل login درست میشد و شناخته هم میشد ولی تو فایل login_check که باید چک میشد که این کوکی ست شده یا نه گیر میکرد و کوکی رو نمیشناخت.اون مشکل وجود داشت تا این یکی هم اضافه شد و بقول معروف از چاله در اومدم و افتادم تو چاه!اروری رو هم که من تو پست های قبلیم در مورد اتصال به بانک مینوشتم مربوط به فایل login بود و موقعی که من دکمه ی login رو میزدم ارور میداد.حالا شما چکار کردی که این ارور رو به شما نداد؟اگه میشه لطف کنین و بگین کجای کد رو چجوری باید تغییر بدم.این برقراری اتصال بین بانک و sql server رو چجوری باید درستش کنم؟:-?
راستی این attach کردن بانک به sql server رو من چجوری باید انجام بدم.من دیگه خودم رو کشتم تونستم پیدا کنم که باید یه قسمت attach به connection string اضافه کنم.که این رو هم وقتی اضافه می کردم یه ارور دیگه میداد.
 
آخرین ویرایش:

mo.esmp

Member
شما وقتی که sql server express رو نصب کرديد باهاش کامپوننت Management Studio رو هم نصب کرديد ؟
 
شما وقتی که sql server express رو نصب کرديد باهاش کامپوننت Management Studio رو هم نصب کرديد ؟
از این یکی نپرس که دلم خونه!تا الان 13 بار sql server رو نصب کردم!اینی که شما نوشتی رو می دونم که وجود داره ولی نصب نمیشه.از روی چندین منبع هم نصب کردم (از روی lord ، king ، ....).ولی اینی که گفتی رو نصب نمبکنن.یعنی امکانش هست که اگه من اینو رو یه سیستم دیگه تست کنم کار کنه؟
 

mo.esmp

Member
من يه راه بهتون نشون ميدم که ديتابيس رو دستی به sql server attach کنيد.
در محلی که ديتابيس تون قرار داره يه فايل تکست با نام prj.txt درست کنيد و دستورات زير توش ذخيره کنيد.
کد:
[LEFT]SET NOCOUNT ON
GO

USE master
GO
if exists (select * from sysdatabases where name='prj')
		drop database prj
go

DECLARE @device_directory NVARCHAR(520)
SELECT @device_directory = SUBSTRING(filename, 1, CHARINDEX(N'master.mdf', LOWER(filename)) - 1)
FROM master.dbo.sysaltfiles WHERE dbid = 1 AND fileid = 1

EXECUTE (N'CREATE DATABASE prj
  ON PRIMARY (NAME = N''prj'', FILENAME = N''' + @device_directory + N'prj.mdf'')
  LOG ON (NAME = N''prj_log'',  FILENAME = N''' + @device_directory + N'prj.ldf'')')
go

exec sp_dboption 'prj','trunc. log on chkpt.','true'
exec sp_dboption 'prj','select into/bulkcopy','true'
GO

set quoted_identifier on
GO

SET DATEFORMAT mdy
GO

use "prj"
go

CREATE TABLE "register"
(
	"name" "text" NULL,
	"pass" "text" NULL,
	"family" "text" NULL,
	"tel" "int" NULL,
	"username" "text" NULL
) ON "PRIMARY" TEXTIMAGE_ON "PRIMARY"

GO

INSERT into "register" ("name","pass","family","tel","username")
     VALUES('a','a','a',123,'a')
GO[/LEFT]

حالا پسوند فايل prj.txt رو به prj.sql تغيير دهيد.Command Prompt رو باز کنيد و به مسيری برويد ديتابيس و فايل که ساختيد اونجاس به عنوان مثال من ديتابيس و فايل prj.sql رو در پوشه c:\data گذشتم. حالا با Command Prompt به اين مسير برويد.حالا دستور زير رو در Command Prompt وارد کنيد.
کد:
[LEFT]sqlcmd -S .\sqlexpress -i prj.sql[/LEFT]

بعد از اجرای اين دستور بايد پيام زير رو در Command Prompt ببينيد.
Change database context to 'master'.
Change database context to 'prj'.
 
ممنون دوست عزیز.من اینو امتحان میکنم جوابشو همینجا مینویسم.بازم ممنون.
 
سلام.
من این کارایی که شما گفتی رو کردم.اون خط اولی هم که گفتی باید نشون بده نشون داد ولی بجای خط دوم یه عالمه چرت و پرت(منظورم ارور هستش!) تحویلم داد.بعد از اجرای این کار ها وقتی دوباره رفتم چک کردم همون ارور
کد:
[I]Cannot open database "prj" requested by the login. The login failed.
Login failed for user 'DAN-393694E03DD\ASPNET'[/I]
رو بهم داد.یعنی یه جورایی هیچ کاری نکرد.
شما login.aspx رو تونستی باهاش کار کنی؟منظورم اینه که وقتی دکمه ی لوگین رو زدی این ارور بالا رو بهت نداد؟

بازم ممنون.
 

جدیدترین ارسال ها

بالا