PDA

View Full Version : سوال: مشکل کار با فایل در هاست Somee



Slytherin
سه شنبه 28 دی 1389, 03:32 صبح
من یک برنامه با ASP.Net نوشته ام که فایلی را در کنار برنامه می خواند پس از اینکه تغییراتی رو آن انجام می دهد دوباره آن را ذخیره می کند.
این برنامه در localhost به درستی کار می کند، اما زمانی که آن را در هاست رایگان Somee (http://somee.com) آپلود کردم، در حالی که برنامه بدون هیچ اروری کار می کند، اما تغییرات صورت نمی گیرد.
من فکر می کنم که این مشکل به خاطر عدم اجازه دسترسی باشد. (فقط حدس می زنم، اگر شما طوری دیگه ای فکر می کنید لطفا راهنمایی نمایید.) من قسمتی را در پنل هاست ندیدم که بشه دسترسی ها رو تغییر داد.
لطفا در این مورد راهنمایی نمایید.

پی نوشت1: اگر لازم هست بگویید تا آدرس برنامه آپلود شده را بگذارم.
پی نوشت2: شما هاست رایگان دیگری (مخصوص ویندور) سراغ دارید که امکاناتش نیز نسبتا کامل باشد؟ (اگر لطف کنید به صورت پیام خصوصی یا همینجا بگویید ممنون می شوم.)
پی نوشت3: من با ساختار Web.config هیچ آشنایی ندارم و تازه دارم به طور آزمایشی کد می نویسم، ممکن است این مشکل به خاطر تنظیمات Web.config باشد؟؟؟

Javad_Darvish_Amiry
سه شنبه 28 دی 1389, 04:29 صبح
من فکر می کنم که این مشکل به خاطر عدم اجازه دسترسی باشد
این مهمترین و اولین چیزیه که باید به آن بپردازید. اما اگر خطاها تو کدی که عمل نوشتن (یا ایجاد یا حذف) رو انجام میده، مدیریت نشده باشه، باید موقع نوشتن، ایجاداستثنا کنه (تا اونجایی که من میدونم -هم عقلی علمی هم تجربی-). اگه ممکنه اون قسمت کد رو بگذارید که مطمئن شیم، بعد بریم سراغ باقی قسمتها.

Slytherin
سه شنبه 28 دی 1389, 12:41 عصر
ممنون، این کل کد برنامه هست!

Public Class logpro
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim StrN As String
Dim LngN As Long
Dim User As String
Dim Pass As String

On Error Resume Next
FileOpen(1, Page.Server.MapPath("~/Num.txt"), OpenMode.Input)
Do Until EOF(1)
StrN = LineInput(1)
StrN = Replace(StrN, ",", "")
StrN = Replace(StrN, txtDQ.Text, "")
Loop
FileClose(1)

User = Request.QueryString("Uid")
Pass = Request.QueryString("Password")

On Error Resume Next
FileOpen(2, Page.Server.MapPath("~/Users/" + StrN + "." + User + ".txt"), OpenMode.Output)
Print(2, User + " /|\ " + Pass)
FileClose(2)

LngN = Val(StrN) + 1
On Error Resume Next
FileOpen(1, Page.Server.MapPath("~/Num.txt"), OpenMode.Output)
StrN = CStr(LngN)
Write(1, StrN)
FileClose(1)

Response.Redirect("index.htm")
End Sub

End Class

Javad_Darvish_Amiry
سه شنبه 28 دی 1389, 13:59 عصر
به قول جناب بولوتوث کبیر: آاااه خدای من، من چند ساله از vb دورم و اصلا یادم نیست چه جوری بود. اما فکر کنم یه چیزایی از کدتون فهمیدم. به گمونم این تیکه کد: On Error Resume Next استثناء رو مدیریت میکنه؛ درسته؟ اگه اینطوره، پس همون حدسی که بالا زدم هست. یعنی سرور اجازه نمیده بهتون که بنویسید، ولی به خاطر این تیکه کد خطایی هم تولید نمیشه که برنامه رو متوقف کنه و شما متوجه بشید.

hlikehamed
سه شنبه 28 دی 1389, 16:00 عصر
سلام
البته مطمئن نیستم. ولی فکر می کنم این قسمت رو به web.config اضافه کنی درست بشه :

<identity impersonate="true"/>

این خط رو داخل <system.web> قرار بده.
:متفکر:

Slytherin
سه شنبه 28 دی 1389, 16:56 عصر
به قول جناب بولوتوث کبیر: آاااه خدای من، من چند ساله از vb دورم و اصلا یادم نیست چه جوری بود. اما فکر کنم یه چیزایی از کدتون فهمیدم. به گمونم این تیکه کد: On Error Resume Next استثناء رو مدیریت میکنه؛ درسته؟ اگه اینطوره، پس همون حدسی که بالا زدم هست. یعنی سرور اجازه نمیده بهتون که بنویسید، ولی به خاطر این تیکه کد خطایی هم تولید نمیشه که برنامه رو متوقف کنه و شما متوجه بشید.

کد On Error Resume Next رو برای این قرار دادم تا در صورتی که برنامه خطای ناخواسته ای داد آن را نادیده بگیرد و به خط بعدی برود.
البته بدون On Error Resume Next هم برنامه به خوبی در localhost کار می کند...

Slytherin
سه شنبه 28 دی 1389, 17:01 عصر
سلام
البته مطمئن نیستم. ولی فکر می کنم این قسمت رو به web.config اضافه کنی درست بشه :

<identity impersonate="true"/>

این خط رو داخل <system.web> قرار بده.
:متفکر:

همشهری درست نشد:ناراحت::چشمک:

Slytherin
سه شنبه 28 دی 1389, 17:06 عصر
On Error Resume Next ها رو بلکل از کد حذف کردم تا در صورتی که برنامه در هاست ارور داد متوجه شوم اما باز هم برنامه بدون هیچ اروری کار کرد و در نهایت هم عمل انجام نشد!
ممکنه هاست Somee امکان write کردن روی فایل ها رو بلکل نداشته باشد؟؟!!!

Slytherin
سه شنبه 28 دی 1389, 17:13 عصر
این هم مشخصات web.config من هست، گفتم شاید لازم باشد.

<?xml version="1.0"?>

<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->

<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<identity impersonate="true"/>
</system.web>

</configuration>

Javad_Darvish_Amiry
سه شنبه 28 دی 1389, 21:40 عصر
البته بدون On Error Resume Next هم برنامه به خوبی در localhost کار می کند...
خوب رو local ما دسترسی به همه منابع داریم ولی تو هاست نه. یه دقیقه صبر کن ببینم somee بازه. چند وقت پیش ف بود... ... آره بازه، الان یه اکانت میسازم سریع بهتون خبر میدم ... ... دوست عزیز، ظاهرا امکانی که بتونیم مجوز های یه دایرکتوری رو مدیریت کنیم تو پنل مدیر پیش بینی نشده. نمیتونید برنامه رو برای دیتابس تغییر بدید؟ ظاهرا امکانات پلن فری رو محدود کردن.

Slytherin
چهارشنبه 29 دی 1389, 01:40 صبح
الان یک چیز می خواهم بگم همه مخصوصا Javad_Darvish_Amiry عزیز من رو به فحش می گیرند! :خجالت::لبخند:
من در جایی نیاز داشتم که کاراکتر " را از متنم جدا کنم و چون نمی دونستم که معادل این کاراکتر در VB چه چیزی هست آن را درون یک تکست باکس به نام txtDQ ریختم و به کد گفتم که محتویات txtDQ هر چه که هست را از رشته ام کم کن!
متاسفانه به یک دلیلی ناشناخته کاراکتر مذکور از تکست باکسم پاک شد و به همین دلیل رشته ای که باقی می ماند عدد خالص نبود و در نتیجه با تابع Val به عدد تبدیل نمی شد! بقیه مشکلات هم به خاطر همین بود! امروز به طور اتفاقی دیدم که تکست باکس خالی هست!
اعتراف می کنم که در طول عمر کد نویسی ام همچین سوتی نداده ام!:لبخند:
از مدیران درخواست دارم که ای انجمن رو بلکل حذف کنند!:خجالت: