[英]Windows Service getting access denied exception while writing to Network Drive
[英]Getting Access Denied Exception while trying to Open Socket In Silverlight
嘗試打開套接字時出現“訪問被拒絕”異常。 我的連接功能如圖所示。
internal void Connect()
{
try
{
//AccessPolicy = new SocketClientAccessPolicyProtocol();
args = new SocketAsyncEventArgs();
args.UserToken = socket;
args.RemoteEndPoint = endPoint;
args.Completed += new EventHandler<SocketAsyncEventArgs>(OnConnect);
**isConnected = socket.ConnectAsync(args);**
//autoEvent.WaitOne();
if (args.SocketError != SocketError.Success)
throw new SocketException((int)args.SocketError);
if(isConnected)
global::System.Windows.MessageBox.Show("Connected");
}
catch (Exception ex)
{
global::System.Windows.MessageBox.Show(ex.Message);
}
}
但是,由於isConnected實現,函數ConnectAsync執行得很好,但是套接字未連接。
http://drdobbs.com/windows/208403238
查看代碼,您會發現它使用TcpListener類偵聽傳入的客戶端連接。 客戶端連接后,代碼將檢查請求的以下值:
<policy-file-request/>
連接后,Silverlight會自動將此文本發送到策略文件套接字。 如果請求包含正確的值,則代碼會將客戶端訪問策略的內容寫回到客戶端流(請參閱OnReceiveComplete()方法)。 收到策略文件后,Silverlight對其進行解析,檢查其是否允許訪問所需的端口,然后接受或拒絕應用程序嘗試進行的套接字調用 。
如果這是瀏覽器中的Silverlight,則需要混合使用套接字策略服務器。 有關詳細信息,請參見http://msdn.microsoft.com/zh-cn/library/cc645032%28v=vs.95%29.aspx 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.